From: Christoph Hellwig <hch@lst.de> Date: Tue, 8 Mar 2022 05:51:51 +0000 (+0100) Subject: sd: call sd_zbc_release_disk before releasing the scsi_device reference X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c76c46fa04c42f7d3a494c526ce5f030da36b553;p=linux.git sd: call sd_zbc_release_disk before releasing the scsi_device reference sd_zbc_release_disk accesses disk->device, so ensure that actually still has a valid reference. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Link: https://lore.kernel.org/r/20220308055200.735835-6-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk> --- diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 7479e7cb36b43..7bfebf5b2832d 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -3672,9 +3672,9 @@ static void scsi_disk_release(struct device *dev) disk->private_data = NULL; put_disk(disk); - put_device(&sdkp->device->sdev_gendev); sd_zbc_release_disk(sdkp); + put_device(&sdkp->device->sdev_gendev); kfree(sdkp); }