[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: |
Bhupesh Sharma |
Subject: |
RE: [PATCH] net/ip: Fix limit_time calculation in freeing old fragments |
Date: |
Wed, 12 Oct 2016 11:25:58 +0000 |
Hi Grub maintainers,
Ping.
> -----Original Message-----
> From: Sakar Arora [mailto:address@hidden
> Sent: Tuesday, September 27, 2016 8:56 PM
> 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
Regards,
Bhupesh
- RE: [PATCH] net/ip: Fix limit_time calculation in freeing old fragments,
Bhupesh Sharma <=