2017-03-23 10:42:17

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH] 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.

Signed-off-by: Dan Carpenter <[email protected]>

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);


2017-03-23 19:38:49

by Boaz Harrosh

[permalink] [raw]
Subject: Re: [PATCH] scsi: osd_uld: remove an unneeded NULL check

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 <[email protected]>
>

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

> 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);
>

2017-03-28 01:55:11

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH] scsi: osd_uld: remove an unneeded NULL check

Dan Carpenter <[email protected]> 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).

--
Martin K. Petersen Oracle Linux Engineering