https://github.com/torvalds/linux
Revision 6b36ba599d602d8a73920fb5c470fe272fac49c1 authored by Shiraz Hashim on 10 November 2016, 18:46:16 UTC, committed by Linus Torvalds on 11 November 2016, 16:12:37 UTC
CMA allocation request size is represented by size_t that gets truncated
when same is passed as int to bitmap_find_next_zero_area_off.

We observe that during fuzz testing when cma allocation request is too
high, bitmap_find_next_zero_area_off still returns success due to the
truncation.  This leads to kernel crash, as subsequent code assumes that
requested memory is available.

Fail cma allocation in case the request breaches the corresponding cma
region size.

Link: http://lkml.kernel.org/r/1478189211-3467-1-git-send-email-shashim@codeaurora.org
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent eef06b8
History
Tip revision: 6b36ba599d602d8a73920fb5c470fe272fac49c1 authored by Shiraz Hashim on 10 November 2016, 18:46:16 UTC
mm/cma.c: check the max limit for cma allocation
Tip revision: 6b36ba5

README.AddingFirmware

back to top