Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753247AbZDPFWZ (ORCPT ); Thu, 16 Apr 2009 01:22:25 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752227AbZDPFWQ (ORCPT ); Thu, 16 Apr 2009 01:22:16 -0400 Received: from extu-mxob-1.symantec.com ([216.10.194.28]:47363 "EHLO extu-mxob-1.symantec.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750889AbZDPFWP (ORCPT ); Thu, 16 Apr 2009 01:22:15 -0400 Date: Thu, 16 Apr 2009 06:15:13 +0100 (BST) From: Hugh Dickins X-X-Sender: hugh@blonde.anvils To: Tetsuo Handa cc: arjan@linux.intel.com, gregkh@suse.de, alan@lxorguk.ukuu.org.uk, viro@ZenIV.linux.org.uk, jmorris@namei.org, akpm@linux-foundation.org, paulmck@linux.vnet.ibm.com, linux-kernel@vger.kernel.org Subject: Re: [2.6.30-rc1] RCU detected CPU 1 stall In-Reply-To: <200904160046.n3G0ki9o028612@www262.sakura.ne.jp> Message-ID: References: <200904080057.n380vZAH051872@www262.sakura.ne.jp> <20090410142203.GA6719@linux.vnet.ibm.com> <20090410150353.GL26366@ZenIV.linux.org.uk> <20090410153229.GB6719@linux.vnet.ibm.com> <200904110608.IED21123.FQOVMtSOOHFFLJ@I-love.SAKURA.ne.jp> <20090410231245.GF6719@linux.vnet.ibm.com> <20090410233919.GS26366@ZenIV.linux.org.uk> <200904130048.n3D0mw1f077050@www262.sakura.ne.jp> <200904150328.n3F3S0F9083222@www262.sakura.ne.jp> <200904160046.n3G0ki9o028612@www262.sakura.ne.jp> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1358 Lines: 36 On Thu, 16 Apr 2009, Tetsuo Handa wrote: > Indeed, we can't use "argv" put on stack memory if we use "no wait" mode. > We need to ensure that memory region pointed by "argv" is valid until > do_execve() finishes. However, > | > | exit: > | kfree(devpath); > | kfree(env); > | return retval; > | } > "env" can be overwritten as well as "argv". > We need to ensure that memory region pointed by "env" is valid until > do_execve() finishes, don't we? > > I think we need to use UMH_WAIT_EXEC instead of UMH_NO_WAIT. Yes, of course you're right, silly me. It could be worked around using call_usermodehelper_setcleanup() to arrange for the freeing there instead of here in this case; but if CONFIG_UEVENT_HELPER_PATH="" is the better answer anyway, let's not waste any more time on this, just revert the broken patch (which is what simply changing UMH_NO_WAIT to UMH_WAIT_EXEC does). I'd hoped to get confirmation that the mmap.c part of the patch was all the extra needed; but never mind, that's clearly good. Thanks a lot: I'll send in a revert request, and the acct_stack_growth patch, later today. Hugh -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/