[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <416a8311-c725-419a-8b22-74c80207347f@rowland.harvard.edu>
Date: Mon, 4 Mar 2024 13:30:35 -0500
From: Alan Stern <stern@...land.harvard.edu>
To: Greg KH <gregkh@...uxfoundation.org>
Cc: Sam Sun <samsun1006219@...il.com>, Tejun Heo <tj@...nel.org>,
linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org,
"xrivendell7@...il.com" <xrivendell7@...il.com>, hgajjar@...adit-jv.com,
quic_ugoswami@...cinc.com, stanley_chang@...ltek.com,
heikki.krogerus@...ux.intel.com
Subject: Re: [Bug] INFO: task hung in hub_activate
On Mon, Mar 04, 2024 at 05:36:19PM +0100, Greg KH wrote:
> On Mon, Mar 04, 2024 at 11:15:24AM -0500, Alan Stern wrote:
> > Third, this must be a generic problem. It will occur any time a sysfs
> > attribute callback tries to lock its device while another process is
> > trying to unregister that device.
> >
> > We faced this sort of problem some years ago when we were worrying
> > about "suicidal" attributes -- ones which would unregister their own
> > devices. I don't remember what the fix was or how it worked. But we
> > need something like it here.
> >
> > Greg and Tejun, any ideas? Is it possible somehow for an attribute file
> > to be removed while its callback is still running?
>
> Yes, it's a pain, and I hate it, but I think SCSI does this somehow for
> one of their attributes. I don't remember how at the moment, and I
> can't look it up (am traveling), but this should be a good hint.
Are you thinking of the sysfs_break_active_protection() and
sysfs_unbreak_active_protection() functions? They seem to be the
appropriate ones to use here.
Alan Stern
Powered by blists - more mailing lists