Re: [PATCH 1/1] mm/madvise: replace ptrace attach requirement for process_madvise

From: Suren Baghdasaryan
Date: Fri Jan 08 2021 - 21:20:43 EST


On Fri, Jan 8, 2021 at 5:02 PM David Rientjes <rientjes@xxxxxxxxxx> wrote:
>
> On Fri, 8 Jan 2021, Suren Baghdasaryan wrote:
>
> > > > @@ -1197,12 +1197,22 @@ SYSCALL_DEFINE5(process_madvise, int, pidfd, const struct iovec __user *, vec,
> > > > goto release_task;
> > > > }
> > > >
> > > > - mm = mm_access(task, PTRACE_MODE_ATTACH_FSCREDS);
> > > > + /* Require PTRACE_MODE_READ to avoid leaking ASLR metadata. */
> > > > + mm = mm_access(task, PTRACE_MODE_READ_FSCREDS);
> > > > if (IS_ERR_OR_NULL(mm)) {
> > > > ret = IS_ERR(mm) ? PTR_ERR(mm) : -ESRCH;
> > > > goto release_task;
> > > > }
> > > >
> > > > + /*
> > > > + * Require CAP_SYS_NICE for influencing process performance. Note that
> > > > + * only non-destructive hints are currently supported.
> > > > + */
> > > > + if (!capable(CAP_SYS_NICE)) {
> > > > + ret = -EPERM;
> > > > + goto release_task;
> > >
> > > mmput?
> >
> > Ouch! Thanks for pointing it out! Will include in the next respin.
> >
>
> With the fix, feel free to add:
>
> Acked-by: David Rientjes <rientjes@xxxxxxxxxx>

Thanks! Will post a new version with the fix on Monday.

>
> Thanks Suren!