Messages in this thread | | | Date | Wed, 14 Aug 2013 20:16:04 +0200 | From | Oleg Nesterov <> | Subject | Re: [PATCH v4 2/3] fs/binfmts: Better handling of binfmt loops |
| |
On 08/14, Zach Levis wrote: > > +static void bprm_close_file(struct linux_binprm *bprm) > +{ > + if (bprm->mm) { > + acct_arg_size(bprm, 0); > + mmput(bprm->mm); > + } > + > + if (bprm->file) { > + allow_write_access(bprm->file); > + fput(bprm->file); > + } > +}
btw this doesn't look right too. This can be called multiple times during the error handling.
Just suppose that search_binary_handler() does this at depth == 0 when it detects -ELOOP and then open_exec() fails. After that we return to do_execve_common() which goes to "out:".
Oleg.
| |