Check VM_DEAD flag of vma in page fault handler, if it is set, trigger SIGSEGV. Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx> --- arch/x86/mm/fault.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index 9a84a0d..3fd2da5 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -1357,6 +1357,10 @@ static inline bool smap_violation(int error_code, struct pt_regs *regs) bad_area(regs, error_code, address); return; } + if (unlikely(vma->vm_flags & VM_DEAD)) { + bad_area(regs, error_code, address); + return; + } if (error_code & X86_PF_USER) { /* * Accessing the stack below %sp is always a bug. -- 1.8.3.1