Re: [PATCH, RFC] sysfs: only allow one scheduled removal callbackper kobj

From: Tejun Heo
Date: Wed Mar 11 2009 - 03:20:41 EST


Alex Chiang wrote:
> * Greg KH <gregkh@xxxxxxx>:
>> On Tue, Mar 10, 2009 at 05:20:27PM -0600, Alex Chiang wrote:
>>> Hi Vegard, sysfs folks,
>>>
>>> Vegard was nice enough to test my PCI remove/rescan patches under
>>> kmemcheck. Maybe "torture" is a more appropriate term. ;)
>>>
>>> My patch series introduces a sysfs "remove" attribute for PCI
>>> devices, which will remove that device (and child devices).
>>>
>>> http://thread.gmane.org/gmane.linux.kernel.pci/3495
>>>
>>> Vegard decided that he wanted to do something like:
>>>
>>> # while true ; do echo 1 > /sys/bus/pci/devices/.../remove ; done
>>>
>>> which caused a nasty oops in my code. You can see the results of
>>> his testing in the thread I referenced above.
>>>
>>> After looking at my code for a bit, I decided that maybe it
>>> wasn't completely my fault. ;) See, I'm using device_schedule_callback()
>> why? Are you really in interrupt context here to need to do the remove
>> at a later time?
>
> What other interface can I use to remove objects from sysfs?

I haven't read your code yet but I seem to recall doing something
similar. Ah.. okay, this one didn't get in and I forgot about this.

http://thread.gmane.org/gmane.linux.kernel/582130

But, yeah, committing suicide is currently quite hariy. I tought SCSI
did it correctly with all the grab/release dances. Does SCSI have the
problem too?

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/