diff mbox

scsi: osd_uld: remove an unneeded NULL check

Message ID 20170323104142.GD20154@mwanda (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Dan Carpenter March 23, 2017, 10:41 a.m. UTC
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.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

Comments

Boaz Harrosh March 23, 2017, 7:38 p.m. UTC | #1
On 03/23/2017 12:41 PM, Dan Carpenter wrote:
> 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.
> 
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> 

Thanks sure!
ACK-by Boaz Harrosh <ooo@electrozaur.com>

> diff --git a/drivers/scsi/osd/osd_uld.c b/drivers/scsi/osd/osd_uld.c
> index 4101c3178411..8b9941a5687a 100644
> --- a/drivers/scsi/osd/osd_uld.c
> +++ b/drivers/scsi/osd/osd_uld.c
> @@ -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);
>
Martin K. Petersen March 28, 2017, 1:54 a.m. UTC | #2
Dan Carpenter <dan.carpenter@oracle.com> writes:

> 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).
diff mbox

Patch

diff --git a/drivers/scsi/osd/osd_uld.c b/drivers/scsi/osd/osd_uld.c
index 4101c3178411..8b9941a5687a 100644
--- a/drivers/scsi/osd/osd_uld.c
+++ b/drivers/scsi/osd/osd_uld.c
@@ -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);