Re: [PATCH v5] mm,writeback: fix divide by zero in pos_ratio_polynom

From: Andrew Morton
Date: Wed Apr 30 2014 - 17:33:07 EST


On Wed, 30 Apr 2014 16:42:55 -0400 Rik van Riel <riel@xxxxxxxxxx> wrote:

> On Wed, 30 Apr 2014 13:13:53 -0700
> Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> > This was a consequence of 64->32 truncation and it can't happen any
> > more, can it?
>
> Andrew, this is cleaner indeed :)
>
> Masayoshi-san, does the bug still happen with this version, or does
> this fix the problem?

I assumed we wanted a reported-by in there.

> Subject: mm,writeback: fix divide by zero in pos_ratio_polynom
>
> It is possible for "limit - setpoint + 1" to equal zero, after
> getting truncated to a 32 bit variable, and resulting in a divide
> by zero error.
>
> Using the fully 64 bit divide functions avoids this problem.

This isn't the whole story, is it? I added stuff:

: Using the fully 64 bit divide functions avoids this problem. It also will
: cause pos_ratio_polynom() to return the correct value when (setpoint -
: limit) exceeds 2^32.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/