Re: different capability from different namespace required for prctl_set_mm_exe_file

From: Greg KH
Date: Tue Sep 25 2018 - 14:41:00 EST


On Tue, Sep 25, 2018 at 09:34:27PM +0300, Cyrill Gorcunov wrote:
> On Tue, Sep 25, 2018 at 07:37:45PM +0200, Greg KH wrote:
> > On Tue, Sep 25, 2018 at 01:26:55PM -0400, Tong Zhang wrote:
> > > Kernel Version: 4.18.5
> > >
> > > Problem Description:
> > >
> > > We discovered inconsistent check when using prctl_set_mm_exe_file(), which is used to setup exe file link.
> > >
> > > It is required to have capable(CAP_SYS_RESOURCE) in prctl_set_mm().
> > > while ns_capable(CAP_SYS_ADMIN) in prctl_set_mm_map().
> > >
> > > There are two differences:
> > > 1)requiring capability from: user namespace, init namespace.
> > > 2)capability bit required is different
> >
> > Can you submit a patch showing what you think is the correct fix here?
>
> It is done this way on purpose. The prctl_set_mm_map is a complex call
> which carries a bunch of parameters and allowed if you're inside user-ns admin,
> in turn prctl_set_mm allows to modify settings one by one. So no, it is not
> an error but rather call specifics.

I was hoping that when the submitter went to create such a patch, they
would have realized that. You learn more when trying to fix a problem
than when someone has to tell you the answers :)

thanks,

greg k-h