This patch avoids to use an object after it was potentially reclaimed by scsi_device_put(). Signed-off-by: David Decotigny <decot@xxxxxxxxxxxx> --- drivers/scsi/scsi_scan.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 307a811..16e4a44 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c @@ -1498,12 +1498,14 @@ static int scsi_report_lun_scan(struct scsi_target *starget, int bflags, out_err: kfree(lun_data); out: - scsi_device_put(sdev); - if (scsi_device_created(sdev)) + if (scsi_device_created(sdev)) { /* * the sdev we used didn't appear in the report luns scan */ __scsi_remove_device(sdev); + } + + scsi_device_put(sdev); return ret; } -- 1.8.4.1 -- 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