Re: [PATCH v2] kexec: Fix off-by-one errors in locate_hole()

Simon Horman
2013-10-03T01:16:16Z

On Wed, Oct 02, 2013 at 10:42:27AM +0200, Geert Uytterhoeven wrote:
> When calling locate_hole() with "hole_size" equal to the size of an
> available memory block, it fails to use that memory block.
>
> "end" and "hole_max" point to the last byte within the range, hence
> - "size = end - start" is one less than "hole_size",
> - "hole_base + hole_size" is one more than "hole_max".
>
> Subtract one from "hole_size" when doing the comparison (adding 1 to "size"
> could overflow in case of one big range covering the whole address space).
> But explicitly check if "hole_size" is zero first, to handle this case
> without causing underflows.
>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

Thanks, applied.

_______________________________________________
kexec mailing list
kexec@lists.infradead.org