Re: [PATCH 1/5] exec: move allow_write_access/fput to exec_binprm()

Oleg Nesterov
2013-08-04T14:54:31Z

On 08/03, Kees Cook wrote:
>
> On Fri, Aug 2, 2013 at 12:27 PM, Oleg Nesterov <oleg@redhat.com> wrote:
> > @@ -1455,6 +1451,11 @@ static int exec_binprm(struct linux_binprm *bprm)
> > ptrace_event(PTRACE_EVENT_EXEC, old_vpid);
> > current->did_exec = 1;
> > proc_exec_connector(current);
> > +
> > + if (bprm->file) {
> > + allow_write_access(bprm->file);
> > + fput(bprm->file);
> > + }
>
> Why not keep the bprm->file = NULL assignment?

Because it is no longer needed.

And now that we have the non-recursive exec_binprm() called right
before free_bprm() it is obvious that it won't be used again.

> Seems reasonable to
> keep that just to be avoid use-after-free accidents.

OK. I will add it back. With the comment to explain that this is
only to catch the possible problems.

I guess it would be better if I resend the whole series to avoid
the confusion. I am going to add your acks. It seems that you acked
everything except 1/3 in the previous series, perhaps you can ack
it too?

Thanks for review!

Oleg.