exec: don't turn PF_KTHREAD off when a target command was not found
Presently do_execve() turns PF_KTHREAD off before search_binary_handler(). THis has a theorical risk of PF_KTHREAD getting lost. We don't have to turn PF_KTHREAD off in the ENOEXEC case. This patch moves this flag modification to after the finding of the executable file. This is only a theorical issue because kthreads do not call do_execve() directly. But fixing would be better. Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Acked-by: Roland McGrath <roland@redhat.com> Acked-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
478735e388
commit
98391cf4dc
|
@ -1009,7 +1009,7 @@ int flush_old_exec(struct linux_binprm * bprm)
|
|||
|
||||
bprm->mm = NULL; /* We're using it now */
|
||||
|
||||
current->flags &= ~PF_RANDOMIZE;
|
||||
current->flags &= ~(PF_RANDOMIZE | PF_KTHREAD);
|
||||
flush_thread();
|
||||
current->personality &= ~bprm->per_clear;
|
||||
|
||||
|
@ -1412,7 +1412,6 @@ int do_execve(const char * filename,
|
|||
if (retval < 0)
|
||||
goto out;
|
||||
|
||||
current->flags &= ~PF_KTHREAD;
|
||||
retval = search_binary_handler(bprm,regs);
|
||||
if (retval < 0)
|
||||
goto out;
|
||||
|
|
Loading…
Reference in New Issue