Messages in this thread Patch in this message | | | From | KOSAKI Motohiro <> | Subject | [PATCH] exec: don't turn PF_KTHREAD off when command not found | Date | Thu, 9 Sep 2010 18:03:30 +0900 (JST) |
| |
Now, do_execve() turn PF_KTHREAD off before search_binary_handler(). It has theorical risk of PF_KTHREAD lost. When ENOEXEC case, we don't have to turn PF_KTHREAD off.
This patch move this flag modification after founding execution file.
I guess this is only theorical issue because now any kthread don't call do_execve() directly. but anyway fixing would be better.
Cc: Roland McGrath <roland@redhat.com> Cc: Oleg Nesterov <oleg@redhat.com> Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> --- fs/exec.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/fs/exec.c b/fs/exec.c index ef8b9dc..81d0d06 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -1011,7 +1011,7 @@ int flush_old_exec(struct linux_binprm * bprm) bprm->mm = NULL; /* We're using it now */ set_exec_mm(NULL); - current->flags &= ~PF_RANDOMIZE; + current->flags &= ~(PF_RANDOMIZE | PF_KTHREAD); flush_thread(); current->personality &= ~bprm->per_clear; @@ -1421,7 +1421,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; -- 1.6.5.2
| |