Messages in this thread | | | Date | Wed, 11 Mar 2009 16:20:32 +0900 | From | Tejun Heo <> | Subject | Re: [PATCH, RFC] sysfs: only allow one scheduled removal callback per kobj |
| |
Alex Chiang wrote: > * Greg KH <gregkh@suse.de>: >> 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
| |