Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750799AbWH3KAh (ORCPT ); Wed, 30 Aug 2006 06:00:37 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750767AbWH3KAh (ORCPT ); Wed, 30 Aug 2006 06:00:37 -0400 Received: from scrub.xs4all.nl ([194.109.195.176]:27101 "EHLO scrub.xs4all.nl") by vger.kernel.org with ESMTP id S1750799AbWH3KAg (ORCPT ); Wed, 30 Aug 2006 06:00:36 -0400 Date: Wed, 30 Aug 2006 11:59:48 +0200 (CEST) From: Roman Zippel X-X-Sender: roman@scrub.home To: Kirill Korotaev cc: Andrew Morton , Linux Kernel Mailing List , Alan Cox , Christoph Hellwig , Pavel Emelianov , Andrey Savochkin , devel@openvz.org, Rik van Riel , Andi Kleen , Oleg Nesterov , Alexey Dobriyan , Matt Helsley , CKRM-Tech Subject: Re: [PATCH 1/7] introduce atomic_dec_and_lock_irqsave() In-Reply-To: <44F4540C.8050205@sw.ru> Message-ID: References: <44F45045.70402@sw.ru> <44F4540C.8050205@sw.ru> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 959 Lines: 31 Hi, On Tue, 29 Aug 2006, Kirill Korotaev wrote: > --- ./kernel/user.c.dlirq 2006-07-10 12:39:20.000000000 +0400 > +++ ./kernel/user.c 2006-08-28 11:08:56.000000000 +0400 > @@ -108,15 +108,12 @@ void free_uid(struct user_struct *up) > if (!up) > return; > > - local_irq_save(flags); > - if (atomic_dec_and_lock(&up->__count, &uidhash_lock)) { > + if (atomic_dec_and_lock_irqsave(&up->__count, &uidhash_lock, flags)) { > uid_hash_remove(up); > spin_unlock_irqrestore(&uidhash_lock, flags); > key_put(up->uid_keyring); > key_put(up->session_keyring); > kmem_cache_free(uid_cachep, up); > - } else { > - local_irq_restore(flags); > } > } Why does this need protection against interrupts? bye, Roman - 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/