On Wed, 22 May 2019, Oliver Neukum wrote: > On Di, 2019-05-21 at 10:00 -0400, Alan Stern wrote: > > > > Changing configurations amounts to much the same as disconnecting, > > because both operations destroy all the existing interfaces. > > > > Disconnect can arise in two different ways. > > > > Physical hot-unplug: All I/O operations will fail. > > > > Rmmod or unbind: I/O operations will succeed. > > > > The second case is probably okay. The first we can do nothing about. > > However, in either case we do need to make sure that memory allocations > > do not require any writebacks. This suggests that we need to call > > memalloc_noio_save() from within usb_unbind_interface(). > > I agree with the problem, but I fail to see why this issue would be > specific to USB. Shouldn't this be done in the device core layer? Only for drivers that are on the block-device writeback path. The device core doesn't know which drivers these are. Alan Stern