diff --git a/kernel/fork.c b/kernel/fork.c index 987b28a1f01b..5733ad5d5856 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -696,7 +696,8 @@ struct mm_struct *mm_access(struct task_struct *task, unsigned int mode) mm = get_task_mm(task); if (mm && mm != current->mm && - !ptrace_may_access(task, mode)) { + !ptrace_may_access(task, mode) && + !capable(CAP_SYS_RESOURCE)) { mmput(mm); mm = ERR_PTR(-EACCES); }