2015-07-22 13:44:51 +00:00
|
|
|
From d99d2f84166b0f60673d5c0714605a153946c0fc Mon Sep 17 00:00:00 2001
|
2014-03-13 18:02:22 +00:00
|
|
|
From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
|
|
|
|
Date: Tue, 21 Jan 2014 10:49:39 -0200
|
2015-07-22 13:44:51 +00:00
|
|
|
Subject: [PATCH 035/506] change stop condition to avoid infinite loops
|
2014-03-13 18:02:22 +00:00
|
|
|
|
|
|
|
In net/net.c there is a while (1) that only exits if there is a stop
|
|
|
|
condition and more then 10 packages or if there is no package received.
|
|
|
|
|
|
|
|
If GRUB is idle and enter in this loop, the only condition to leave is
|
|
|
|
if it doesn't have incoming packages. In a network with heavy traffic
|
|
|
|
this never happens.
|
|
|
|
---
|
|
|
|
ChangeLog | 12 ++++++++++++
|
|
|
|
grub-core/net/net.c | 2 +-
|
|
|
|
2 files changed, 13 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
diff --git a/ChangeLog b/ChangeLog
|
2014-06-24 15:18:06 +00:00
|
|
|
index 10abfe2..f69d8c7 100644
|
2014-03-13 18:02:22 +00:00
|
|
|
--- a/ChangeLog
|
|
|
|
+++ b/ChangeLog
|
|
|
|
@@ -1,3 +1,15 @@
|
|
|
|
+2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
|
|
|
|
+
|
|
|
|
+ * grub-core/net/net.c (receive_packets): Change stop condition to avoid
|
|
|
|
+ infinite loops.
|
|
|
|
+
|
|
|
|
+ In net/net.c there is a while (1) that only exits if there is a stop
|
|
|
|
+ condition and more then 10 packages or if there is no package received.
|
|
|
|
+
|
|
|
|
+ If GRUB is idle and enter in this loop, the only condition to leave is
|
|
|
|
+ if it doesn't have incoming packages. In a network with heavy traffic
|
|
|
|
+ this never happens.
|
|
|
|
+
|
|
|
|
2014-01-19 Colin Watson <cjwatson@ubuntu.com>
|
|
|
|
|
|
|
|
* grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
|
|
|
|
diff --git a/grub-core/net/net.c b/grub-core/net/net.c
|
|
|
|
index 0e57e93..56355f3 100644
|
|
|
|
--- a/grub-core/net/net.c
|
|
|
|
+++ b/grub-core/net/net.c
|
|
|
|
@@ -1453,7 +1453,7 @@ receive_packets (struct grub_net_card *card, int *stop_condition)
|
|
|
|
}
|
|
|
|
card->opened = 1;
|
|
|
|
}
|
|
|
|
- while (1)
|
|
|
|
+ while (received < 100)
|
|
|
|
{
|
|
|
|
/* Maybe should be better have a fixed number of packets for each card
|
|
|
|
and just mark them as used and not used. */
|
|
|
|
--
|
2015-07-22 13:44:51 +00:00
|
|
|
2.4.3
|
2014-03-13 18:02:22 +00:00
|
|
|
|