Return-Path: Date: Wed, 16 May 2007 11:29:45 +0200 (CEST) From: Jiri Kosina To: Satyam Sharma cc: Marcel Holtmann , Greg KH , Jeremy Fitzhardinge , maxk@qualcomm.com, bluez-devel@lists.sourceforge.net, Cedric Le Goater , Linux Kernel Mailing List , netdev@vger.kernel.org Subject: Re: 2.6.21-rc7: BUG: sleeping function called from invalid context at net/core/sock.c:1523 In-Reply-To: Message-ID: References: <462D1B09.9050005@goop.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII List-ID: On Fri, 11 May 2007, Satyam Sharma wrote: > (later) > I Googled a bit to see if this problem was faced elsewhere in the kernel > too. Saw the following commit by Ingo Molnar > (9883a13c72dbf8c518814b6091019643cdb34429): > - lock_sock(sock->sk); > + local_bh_disable(); > + bh_lock_sock_nested(sock->sk); > rc = selinux_netlbl_socket_setsid(sock, sksec->sid); > - release_sock(sock->sk); > + bh_unlock_sock(sock->sk); > + local_bh_enable(); > Is it _really_ *this* simple? Hi Satyam, actually this *seems* to be proper solution also for our case, thanks for pointing this out. I will think about it once again, do some more tests with this locking scheme, and will let you know. Thanks, -- Jiri Kosina