From: Kefeng Wang Date: Fri, 28 Jul 2023 05:00:42 +0000 (+0800) Subject: selinux: use vma_is_initial_stack() and vma_is_initial_heap() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=68df1baf158fddc07b6f0333e4c81fe1ccecd6ff;p=linux.git selinux: use vma_is_initial_stack() and vma_is_initial_heap() Use the helpers to simplify code. Link: https://lkml.kernel.org/r/20230728050043.59880-4-wangkefeng.wang@huawei.com Signed-off-by: Kefeng Wang Acked-by: Paul Moore Reviewed-by: David Hildenbrand Acked-by: Peter Zijlstra (Intel) Cc: Stephen Smalley Cc: Eric Paris Cc: Alex Deucher Cc: Arnaldo Carvalho de Melo Cc: Christian Göttsche Cc: "Christian König" Cc: Daniel Vetter Cc: David Airlie Cc: Felix Kuehling Cc: "Pan, Xinhui" Signed-off-by: Andrew Morton --- diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index d06e350fedee5..ee8575540a8ef 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -3762,13 +3762,10 @@ static int selinux_file_mprotect(struct vm_area_struct *vma, if (default_noexec && (prot & PROT_EXEC) && !(vma->vm_flags & VM_EXEC)) { int rc = 0; - if (vma->vm_start >= vma->vm_mm->start_brk && - vma->vm_end <= vma->vm_mm->brk) { + if (vma_is_initial_heap(vma)) { rc = avc_has_perm(sid, sid, SECCLASS_PROCESS, PROCESS__EXECHEAP, NULL); - } else if (!vma->vm_file && - ((vma->vm_start <= vma->vm_mm->start_stack && - vma->vm_end >= vma->vm_mm->start_stack) || + } else if (!vma->vm_file && (vma_is_initial_stack(vma) || vma_is_stack_for_current(vma))) { rc = avc_has_perm(sid, sid, SECCLASS_PROCESS, PROCESS__EXECSTACK, NULL);