[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090701135631.41e590f9.akpm@linux-foundation.org>
Date: Wed, 1 Jul 2009 13:56:31 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Neil Horman <nhorman@...driver.com>
Cc: linux-kernel@...r.kernel.org, nhorman@...driver.com,
Rusty Russell <rusty@...tcorp.com.au>
Subject: Re: [PATCH] kmod: Fix race in usermodehelper code
On Tue, 30 Jun 2009 22:48:03 -0400
Neil Horman <nhorman@...driver.com> wrote:
> User Mode Helper: Fix race in UMH_WAIT_EXEC case
>
> The user mode helper code has a race in it. call_usermodehelper_exec takes an
> allocated subprocess_info structure, which it passes to a workqueue, and then
> passes it to a kernel thread which it creates, after which it calls complete to
> signal to the caller of call_usremodehelper_exec that it can free the
> subprocess_info struct. But since we use that structure in the created thread,
> we can't call complete from __call_usermodehelper, which is where we create the
> kernel_thread. We need to call complete from within the kernel thread and then
> not use subprocess_info afterward in the case of UMH_WAIT_EXEC. Tested
> successfully by me.
>
<stares at the code for ten minutes>
Geeze that's getting complex, isn't it? The patch looks OK. I think.
I wonder why people aren't reporting this. Perhaps CLONE_VFORK plus
child-runs-first? (_does_ the chld run first? We seem to have changed
it a couple of times)
--
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