[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100310203209.54168BCCD@magilla.sf.frob.com>
Date: Wed, 10 Mar 2010 12:32:09 -0800 (PST)
From: Roland McGrath <roland@...hat.com>
To: Oleg Nesterov <oleg@...hat.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Andi Kleen <andi@...stfloor.org>,
David Howells <dhowells@...hat.com>,
Neil Horman <nhorman@...driver.com>,
Rusty Russell <rusty@...tcorp.com.au>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] wait_for_helper: SIGCHLD from user-space can lead to
use-after-free
SIGCHLD being blocked doesn't affect reaping, so SIG_IGN or sa_flags &
SA_NOCLDWAIT is the only thing that would do this. How does that come
about here in this kthread? Is it inherited from the instigating user
process? If so, then SA_NOCLDWAIT is as much a problem as SIG_IGN.
Or I guess maybe it's from ignore_signals() in kthreadd()?
In that case SIG_IGN is indeed all that matters. (I don't really
know all the kthread/kmod/userhelper code organization.)
Perhaps it would be cleaner to do:
flush_signal_handlers(current, 1);
in wait_for_helper. That should make it redundant in ____call_usermodehelper,
so it could be removed from there.
Thanks,
Roland
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists