Re: [PATCH] mm: relax ptrace mode in process_vm_readv(2)

From: Andrew Morton
Date: Mon Mar 05 2018 - 19:07:17 EST


On Sat, 3 Mar 2018 23:11:16 +0300 Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote:

> It is more natural to check for read-from-memory permissions in case of
> process_vm_readv() as PTRACE_MODE_ATTACH is equivalent to write
> permissions.
>
> ...
>
> --- a/mm/process_vm_access.c
> +++ b/mm/process_vm_access.c
> @@ -204,7 +204,7 @@ static ssize_t process_vm_rw_core(pid_t pid, struct iov_iter *iter,
> goto free_proc_pages;
> }
>
> - mm = mm_access(task, PTRACE_MODE_ATTACH_REALCREDS);
> + mm = mm_access(task, vm_write ? PTRACE_MODE_ATTACH_REALCREDS : PTRACE_MODE_READ_REALCREDS);
> if (!mm || IS_ERR(mm)) {
> rc = IS_ERR(mm) ? PTR_ERR(mm) : -ESRCH;
> /*

But what is the risk of breaking existing userspace?