On Thu, 2022-03-31 at 16:42 +0300, Dan Carpenter wrote: [...] > Also, I don't really understand why we don't have to call > put_device(&sdkp->disk_dev) at the end of sd_remove(). That's because the final put is done by the gendisk ->free_disk() function which is scsi_disk_free_disk(). Most of the gendisk functions we provide convert a gendisk to a scsi_disk (via the gendisk private_data), so the sdkp has to live as long as the gendisk. James