[RFC PATCH 0/6] Check length of unmapped area on MAP_FIXED

From: Liam Howlett
Date: Mon Dec 06 2021 - 10:05:45 EST


RFC because the patches are not well tested. I've not triggered the
issue these patches fix, but have compile tested arm, sh, and sparc64
using the default config. Please test the patches before accepting them
on your arch.

arc, arm, nds32, sparc32 and sparc64 do not check the size of the
requested MAP_FIXED before returning the address. It appears this issue
was cloned across various architectures and, in some cases, affects both
bottom up and top down searches. This set of patches aligns all
platforms and search directions to check the size of a MAP_FIXED
request before returning the fixed address.

Liam R. Howlett (6):
ARC: mm/mmap.c: Check length of unmapped area before allowing
MAP_FIXED
[ARM] mm/mmap.c: Check length of unmapped area before allowing
MAP_FIXED
nds32/mm/mmap.c: Check length of unmapped area before allowing
MAP_FIXED
sh/mm/mmap.c: Check length of unmapped area before allowing MAP_FIXED
sys_sparc_32.c: Check length of unmapped area before allowing
MAP_FIXED
sys_sparc_64.c: Check length of unmapped area before allowing
MAP_FIXED

arch/arc/mm/mmap.c | 6 +++---
arch/arm/mm/mmap.c | 6 +++---
arch/nds32/mm/mmap.c | 6 +++---
arch/sh/mm/mmap.c | 12 ++++++------
arch/sparc/kernel/sys_sparc_32.c | 7 ++++---
arch/sparc/kernel/sys_sparc_64.c | 16 ++++++++--------
6 files changed, 27 insertions(+), 26 deletions(-)

--
2.30.2