public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Marcel Holtmann <marcel@holtmann.org>
To: Satyam Sharma <satyam.sharma@gmail.com>
Cc: Jiri Kosina <jikos@jikos.cz>, Greg KH <gregkh@suse.de>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	maxk@qualcomm.com, bluez-devel@lists.sourceforge.net,
	Cedric Le Goater <clg@fr.ibm.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	netdev@vger.kernel.org
Subject: Re: 2.6.21-rc7: BUG: sleeping function called from invalid context at net/core/sock.c:1523
Date: Wed, 16 May 2007 13:45:04 +0200	[thread overview]
Message-ID: <1179315904.10069.67.camel@violet> (raw)
In-Reply-To: <a781481a0705160436s3564022aybd9b318ec0947d94@mail.gmail.com>

Hi Satayam,

> > > (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?
> > [...]
> > 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.
> 
> Yes, I can almost confirm that this (open-coding of spin_lock_bh,
> effectively) is the proper solution (Rusty's unreliable guide to
> kernel-locking needs to be next to every developer's keyboard :-)
> I also came across this idiom in other places in the networking code
> so it seems to be pretty much the standard way. I wish I owned
> bluetooth hardware, could've tested this for you myself.

does this mean we should revert previous changes to the locking or only
apply this on top of it?

Regards

Marcel



  reply	other threads:[~2007-05-16 11:46 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-23 20:46 2.6.21-rc7: BUG: sleeping function called from invalid context at net/core/sock.c:1523 Jeremy Fitzhardinge
2007-04-23 21:56 ` Jiri Kosina
2007-04-24  3:30   ` Herbert Xu
2007-04-24  7:59     ` Jiri Kosina
2007-04-26 14:31   ` Jiri Kosina
2007-05-11 13:29     ` Satyam Sharma
2007-05-13  9:20       ` Greg KH
2007-05-16  9:29       ` Jiri Kosina
2007-05-16 11:36         ` Satyam Sharma
2007-05-16 11:45           ` Marcel Holtmann [this message]
2007-05-16 11:56             ` Satyam Sharma
2007-05-16 11:59               ` Satyam Sharma
2007-05-16 12:16                 ` Marcel Holtmann
2007-05-16 12:19                   ` Jiri Kosina
2007-05-16 23:03                     ` Jiri Kosina
2007-05-16 23:16                       ` David Miller
2007-05-16 23:20                         ` Jiri Kosina
2007-05-17  6:04                           ` Marcel Holtmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1179315904.10069.67.camel@violet \
    --to=marcel@holtmann.org \
    --cc=bluez-devel@lists.sourceforge.net \
    --cc=clg@fr.ibm.com \
    --cc=gregkh@suse.de \
    --cc=jeremy@goop.org \
    --cc=jikos@jikos.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxk@qualcomm.com \
    --cc=netdev@vger.kernel.org \
    --cc=satyam.sharma@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox