|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
|
|
|
|
Date: Tue, 21 Jan 2014 10:49:39 -0200
|
|
|
|
Subject: [PATCH] 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.
|
|
|
|
---
|
|
|
|
grub-core/net/net.c | 2 +-
|
|
|
|
ChangeLog | 12 ++++++++++++
|
|
|
|
2 files changed, 13 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
diff --git a/grub-core/net/net.c b/grub-core/net/net.c
|
|
|
|
index 0e57e93e821..56355f3c98c 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. */
|
|
|
|
diff --git a/ChangeLog b/ChangeLog
|
|
|
|
index 10abfe28f20..f69d8c7e042 100644
|
|
|
|
--- 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
|