On Feb 14 Bart Van Assche wrote: > On Tue, Feb 14, 2012 at 12:34 PM, Jun'ichi Nomura > <j-nomura@xxxxxxxxxxxxx> wrote: > > While scsi_device is propery refcounted object, > > q->queuedata is set to NULL by scsi_remove_device() asynchronously. > > So every reader of scsi_device's q->queuedata should always check it. > > As far as I can see this patch narrows the race window but doesn't fix > the race. At least sd_prep_fn() still reads queuedata and if I'm not > mistaken that read races with scsi_remove_device(). Has it been > considered to modify scsi_remove_device() and scsi_request_fn() such > that device removal is communicated from the former to the latter in > another way than by clearing queuedata ? Or asked differently, *what* is supposed to serialize the ->queuedata accesses? (If it is the BKL -- well, some bleeding edge kernel versions lack it, sources say.) -- Stefan Richter -=====-===-- --=- -===- http://arcgraph.de/sr/ -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html