[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 7 Jul 2014 14:44:09 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Mateusz Guzik <mguzik@...hat.com>
Cc: linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...hat.com>,
stable@...r.kernel.org
Subject: Re: [PATCH] sched: fix possible divide by zero in avg_atom
calculation
On Sat, Jun 14, 2014 at 03:00:09PM +0200, Mateusz Guzik wrote:
> proc_sched_show_task does:
> if (nr_switches)
> do_div(avg_atom, nr_switches);
>
> nr_switches is unsigned long and do_div truncates it to 32 bits, which
> means it can test non-zero on e.g. x86-64 and be truncated to zero for
> division.
>
> Fix the problem by using div64_ul instead.
>
> As a side effect calculations of avg_atom for big nr_switches are now correct.
>
> Signed-off-by: Mateusz Guzik <mguzik@...hat.com>
Thanks.
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists