grub2/0036-change-stop-condition-to-avoid-infinite-loops.patch
Peter Jones 58fe9aa736 Various updates that came from rhel 7.1 work.
- Clean up the build a bit to make it faster
- Make grubenv work right on UEFI machines
  Related: rhbz#1119943
- Sort debug and rescue kernels later than normal ones
  Related: rhbz#1065360
- Allow "fallback" to include entries by title as well as number.
  Related: rhbz#1026084
- Fix a segfault on aarch64.
- Load arm with SB enabled if available.
- Add some serial port options to GRUB_MODULES.

Signed-off-by: Peter Jones <pjones@redhat.com>
2014-09-29 11:52:02 -04:00

53 lines
1.8 KiB
Diff

From 547d1e84df5d57c7600ead4556d43d5dbbe33c4b 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 036/152] 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.
---
ChangeLog | 12 ++++++++++++
grub-core/net/net.c | 2 +-
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 10abfe2..f69d8c7 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
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. */
--
1.9.3