[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH] net/ip: Fix limit_time calculation in freeing old fragments
From: |
Sakar Arora |
Subject: |
RE: [PATCH] net/ip: Fix limit_time calculation in freeing old fragments |
Date: |
Mon, 17 Oct 2016 05:30:43 +0000 |
Hi
Sending the below mentioned patch as an attachment. Please review.
Thanks,
Sakar
-----Original Message-----
From: Sakar Arora [mailto:address@hidden
Sent: Saturday, October 15, 2016 1:26 AM
To: address@hidden
Cc: Bhupesh Sharma <address@hidden>; Sakar Arora <address@hidden>
Subject: [PATCH] net/ip: Fix limit_time calculation in freeing old fragments
From: Sakar Arora <address@hidden>
limit_time underflows when current time is less than 90000ms.
This causes packet fragments received during this time, i.e., till 90000ms pass
since timer init, to be rejected.
Hence, set it to 0 if its less than 90000.
Signed-off-by: Sakar Arora <address@hidden>
---
grub-core/net/ip.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/grub-core/net/ip.c b/grub-core/net/ip.c index 8c56baa..4dae207
100644
--- a/grub-core/net/ip.c
+++ b/grub-core/net/ip.c
@@ -363,7 +363,9 @@ static void
free_old_fragments (void)
{
struct reassemble *rsm, **prev;
- grub_uint64_t limit_time = grub_get_time_ms () - 90000;
+ grub_uint64_t limit_time = grub_get_time_ms ();
+
+ limit_time = (limit_time > 90000)?limit_time - 90000:0;
for (prev = &reassembles, rsm = *prev; rsm; rsm = *prev)
if (rsm->last_time < limit_time)
--
1.9.1
0001-net-ip-Fix-limit_time-calculation-in-freeing-old-fra.patch
Description: 0001-net-ip-Fix-limit_time-calculation-in-freeing-old-fra.patch