Blame SOURCES/0036-change-stop-condition-to-avoid-infinite-loops.patch

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