From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754167AbZBVJVH (ORCPT ); Sun, 22 Feb 2009 04:21:07 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752131AbZBVJUy (ORCPT ); Sun, 22 Feb 2009 04:20:54 -0500 Received: from fg-out-1718.google.com ([72.14.220.156]:62205 "EHLO fg-out-1718.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751771AbZBVJUw (ORCPT ); Sun, 22 Feb 2009 04:20:52 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; b=M+mXd/tLUWcYNWEBp7iem3TMKM91eV4O/RB5ARKz+6uqHTGe8iRBWp/w43fU4vU/5q fFhd9KjpetxlEKPiBfIUV7Jv8NhYEnpUY0SMg1OHendQiWBk6ncQaj89d49V12aeMFWC Xnbpg7sehYhllwasRF+ds8/ccUTR/LQGZtiqI= Date: Sun, 22 Feb 2009 12:27:22 +0300 From: Alexey Dobriyan To: David Howells Cc: kosaki.motohiro@jp.fujitsu.com, serue@us.ibm.com, mingo@elte.hu, akpm@osdl.org, linux-kernel@vger.kernel.org Subject: Re: Broken "User namespaces: Only put the userns when we unhash the uid" Message-ID: <20090222092722.GA12347@x200.localdomain> References: <20090222001257.GA15755@x200.localdomain> <6395.1235263079@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6395.1235263079@redhat.com> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Feb 22, 2009 at 12:37:59AM +0000, David Howells wrote: > Alexey Dobriyan wrote: > > > The following commit breaks clone(CLONE_NEWUSER) > > with an oops. > > Can you give the actual text of the oops, please? One needs UP kernel for this. The box is really dead afterwards. ============================================= [ INFO: possible recursive locking detected ] 2.6.29-rc5-2ec77fc93ca8731368fbe8e71f805c0569d4bcee #4 --------------------------------------------- swapper/0 is trying to acquire lock: (uidhash_lock){.+..}, at: [] _atomic_dec_and_lock+0x18/0x40 but task is already holding lock: (uidhash_lock){.+..}, at: [] _atomic_dec_and_lock+0x18/0x40 other info that might help us debug this: 1 lock held by swapper/0: #0: (uidhash_lock){.+..}, at: [] _atomic_dec_and_lock+0x18/0x40 stack backtrace: Pid: 0, comm: swapper Not tainted 2.6.29-rc5-2ec77fc93ca8731368fbe8e71f805c0569d4bcee #4 Call Trace: [] validate_chain+0xac5/0x1130 [] ? validate_chain+0x3d0/0x1130 [] ? validate_chain+0x3d0/0x1130 [] __lock_acquire+0x276/0xa10 [] ? __lock_acquire+0x276/0xa10 [] lock_acquire+0x5c/0x80 [] ? _atomic_dec_and_lock+0x18/0x40 [] _spin_lock+0x3c/0x50 [] ? _atomic_dec_and_lock+0x18/0x40 [] _atomic_dec_and_lock+0x18/0x40 [] free_uid+0x27/0xc0 [] ? free_user_ns+0x0/0x20 [] free_user_ns+0x11/0x20 [] kref_put+0x2b/0x80 [] ? _atomic_dec_and_lock+0x18/0x40 [] free_uid+0x60/0xc0 [] put_cred_rcu+0x2f/0x60 [] ? _spin_unlock_irqrestore+0x39/0x70 [] __rcu_process_callbacks+0xd2/0x230 [] rcu_process_callbacks+0x12/0x30 [] __do_softirq+0x7a/0x130 [] do_softirq+0x55/0x60 [] irq_exit+0x7b/0x80 [] do_IRQ+0x3e/0x80 [] ? trace_hardirqs_on_caller+0xfc/0x190 [] common_interrupt+0x2c/0x34 [] ? mwait_idle+0x3f/0x60 [] cpu_idle+0x45/0x80 [] rest_init+0x61/0x70