Re: [PATCH] supress uid comparison test if core output files arepipes

From: Neil Horman
Date: Thu Feb 25 2010 - 06:52:50 EST


On Wed, Feb 24, 2010 at 06:13:32PM -0800, Andrew Morton wrote:
> On Wed, 24 Feb 2010 20:32:10 -0500 Neil Horman <nhorman@xxxxxxxxxxxxx> wrote:
>
> > > > diff --git a/fs/exec.c b/fs/exec.c
> > > > index 6303d18..6af2214 100644
> > > > --- a/fs/exec.c
> > > > +++ b/fs/exec.c
> > > > @@ -1987,8 +1987,9 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
> > > > /*
> > > > * Dont allow local users get cute and trick others to coredump
> > > > * into their pre-created files:
> > > > + * Note, this is not relevant for pipes
> > > > */
> > > > - if (inode->i_uid != current_fsuid())
> > > > + if (!ispipe && (inode->i_uid != current_fsuid()))
> > > > goto close_fail;
> > > > if (!cprm.file->f_op)
> > > > goto close_fail;
> > >
> > > hm, this actually appears to fix a regression, added by:
> > >
> > In a sense yes. Previously though, Ingos check was both useless for pipes
> > (since you can't have a user create a pipe that will map to what the coredump
> > path creates anyway, making this check useless), but it worked anyway, since the
> > crashing process created the pipe, so the uid check always matched. With the
> > refactoring andi and I did, thats no longer true, so the check could fail. This
> > patch just fixes it up by recongnizing that the check isn't needed at all for
> > pipes
>
> Which refactoring? Please identify precisely the patch which this patch fixes up?
>

kmod-replace-call_usermodehelper_pipe-with-use-of-umh-init-function-and-resolve-limit.patch

Sorry, when I say refactoring, I was referring to the addition of the init and
cleanup functions that Andi and I added a few weeks ago.
Neil

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/