VM/Security: add security hook to do_brk
Subsystems (2)
PATCH 1/1 VM/Security: add security hook to do_brk
Given a specifically crafted binary do_brk() can be used to get low pages available in userspace virtually memory and can thus be used to circumvent the mmap_min_addr low memory protection. Add security checks in do_brk().
---
mm/mmap.c | 4 ++++ 1 file changed, 4 insertions(+)
mm/mmap.c +4 -0
@@ -1941,6 +1941,10 @@ unsigned long do_brk(unsigned long addr, unsigned long len)if (is_hugepage_only_range (mm, addr, len))return -EINVAL ; + error =security_file_mmap (0 ,0 ,0 ,0 , addr,1 ); +if (error) +return error; + flags =VM_DATA_DEFAULT_FLAGS |VM_ACCOUNT | mm->def_flags; error =arch_mmap_check (addr, len, flags);
Quoted 6 lines · Eric Paris
Given a specifically crafted binary
do_brk()can be used to get low pages available in userspace virtually memory and can thus be used to circumvent themmap_min_addrlow memory protection. Add security checks indo_brk().Signed-off-by Eric Paris <[email protected]>
ACK
Quoted 9 lines · Alan Cox
Quoted 6 lines · Eric Paris
Given a specifically crafted binary
do_brk()can be used to get low pages available in userspace virtually memory and can thus be used to circumvent themmap_min_addrlow memory protection. Add security checks indo_brk().Signed-off-by Eric Paris <[email protected]>ACK
Applied togit://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6.git#for-akpm
Signature · 2 lines
James Morris <[email protected]>