Skip to contentSkip to conversation

scsi: osd_uld: remove an unneeded NULL check

PATCH Applied Dan Carpenter 3 participants 3 messages Mar 23, 2017 – Mar 28, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 scsi: osd_uld: remove an unneeded NULL check

We don't call the remove() function unless probe() succeeds so "oud" can't be NULL here. Plus, if it were NULL, we dereference it on the next line so it would crash anyway.

drivers/scsi/osd/osd_uld.c +3 -4
index 4101c3178411..8b9941a5687a 100644
@@ -507,10 +507,9 @@ static int osd_remove(struct device *dev)
 	struct scsi_device *scsi_device = to_scsi_device(dev);
 	struct osd_uld_device *oud = dev_get_drvdata(dev);
 
-	if (!oud || (oud->od.scsi_device != scsi_device)) {
-		OSD_ERR("Half cooked osd-device %p,%p || %p!=%p",
-			dev, oud, oud ? oud->od.scsi_device : NULL,
-			scsi_device);
+	if (oud->od.scsi_device != scsi_device) {
+		OSD_ERR("Half cooked osd-device %p, || %p!=%p",
+			dev, oud->od.scsi_device, scsi_device);
 	}
 
 	cdev_device_del(&oud->cdev, &oud->class_dev);
#1 lore raw
Quoted 6 lines · Dan Carpenter

We don't call the remove() function unless probe() succeeds so "oud" can't be NULL here. Plus, if it were NULL, we dereference it on the next line so it would crash anyway.

Thanks sure!
ACK-by Boaz Harrosh <[email protected]>

Quoted 19 lines
drivers/scsi/osd/osd_uld.c +3 -4
index 4101c3178411..8b9941a5687a 100644
@@ -507,10 +507,9 @@ static int osd_remove(struct device *dev)
 	struct scsi_device *scsi_device = to_scsi_device(dev);
 	struct osd_uld_device *oud = dev_get_drvdata(dev);
 
-	if (!oud || (oud->od.scsi_device != scsi_device)) {
-		OSD_ERR("Half cooked osd-device %p,%p || %p!=%p",
-			dev, oud, oud ? oud->od.scsi_device : NULL,
-			scsi_device);
+	if (oud->od.scsi_device != scsi_device) {
+		OSD_ERR("Half cooked osd-device %p, || %p!=%p",
+			dev, oud->od.scsi_device, scsi_device);
 	}
 
 	cdev_device_del(&oud->cdev, &oud->class_dev);
#2 lore raw
In reply to Dan Carpenter
Quoted 3 lines · Dan Carpenter

We don't call the remove() function unless probe() succeeds so "oud" can't be NULL here. Plus, if it were NULL, we dereference it on the next line so it would crash anyway.

Applied to 4.12/scsi-queue (by hand).

Signature · 1 line
Martin K. Petersen	Oracle Linux Engineering