linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Hugh Dickins <hugh@veritas.com>,
	Oliver Neukum <oliver@neukum.name>,
	Maneesh Soni <maneesh@in.ibm.com>,
	Greg Kroah-Hartman <gregkh@suse.de>, Adrian Bunk <bunk@stusta.de>,
	linux-kernel@vger.kernel.org
Subject: Re: 2.6.21-rc suspend regression: sysfs deadlock
Date: Wed, 7 Mar 2007 08:52:18 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.64.0703070845500.5963@woody.linux-foundation.org> (raw)
In-Reply-To: <d120d5000703070756v4fe11a54u9009d3efd93faa9d@mail.gmail.com>



On Wed, 7 Mar 2007, Dmitry Torokhov wrote:
> 
> ... with the exception that it will again make data associated with
> sysfs attributes accessible past the point of returning from
> sysfs_remove_file. And that was the point so drivers would not have to
> care about handling access to extra data (such as static strings) past
> the driver unload.

Drivers are unloaded by stopping the whole machine (exactly because module 
unload is otherwise so hard to handle), so that never happens unless you 
actively block. In other words, if you do something as simple as

	if (inode->i_private_data)
		sysfs_flush_buffer(buffer);

then there is no race with unloading (unless the driver itself does 
something stupid, of course - but the whole point of having a kernel 
buffer is so that it does *not* have to make user accesses etc).

But the one thing you should *not* do is to depend on a sleeping lock, 
because that breaks the whole model!

			Linus

  reply	other threads:[~2007-03-07 16:56 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-06 19:20 2.6.21-rc suspend regression: sysfs deadlock Hugh Dickins
2007-03-06 20:16 ` Oliver Neukum
2007-03-07  1:56 ` Linus Torvalds
2007-03-07 14:38   ` Oliver Neukum
2007-03-07 15:56   ` Dmitry Torokhov
2007-03-07 16:52     ` Linus Torvalds [this message]
2007-03-07 16:59       ` Oliver Neukum
2007-03-07 18:02         ` Linus Torvalds
2007-03-07 18:16           ` Oliver Neukum
2007-03-10 20:44 Alan Stern
2007-03-12 21:31 refcounting drivers' data structures used in sysfs buffers Richard Purdie
2007-03-13 15:00 ` 2.6.21-rc suspend regression: sysfs deadlock Alan Stern
2007-03-13 18:42   ` Cornelia Huck
2007-03-13 21:20     ` Linus Torvalds
2007-03-14 16:12       ` Alan Stern
2007-03-14 18:43         ` Cornelia Huck
2007-03-14 19:23           ` Alan Stern
2007-03-15 10:27             ` Cornelia Huck
2007-03-15 12:31               ` Hugh Dickins
2007-03-15 13:02                 ` Oliver Neukum
2007-03-15 13:22                   ` Dmitry Torokhov
2007-03-15 13:59                     ` Hugh Dickins
2007-03-15 14:27               ` Alan Stern
2007-03-15 15:32                 ` Cornelia Huck
2007-03-15 16:29                 ` Hugh Dickins
2007-03-15 16:51                   ` Linus Torvalds
2007-03-13 19:00   ` Hugh Dickins
2007-03-13 20:09     ` Alan Stern
2007-03-13 20:55       ` Hugh Dickins
2007-03-13 21:08         ` Dmitry Torokhov
2007-03-13 21:20         ` Alan Stern

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=Pine.LNX.4.64.0703070845500.5963@woody.linux-foundation.org \
    --to=torvalds@linux-foundation.org \
    --cc=bunk@stusta.de \
    --cc=dmitry.torokhov@gmail.com \
    --cc=gregkh@suse.de \
    --cc=hugh@veritas.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maneesh@in.ibm.com \
    --cc=oliver@neukum.name \
    /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;
as well as URLs for NNTP newsgroup(s).