Fix potential NULL pointer dereference bug in sas_smp_handler()
Subsystems (2)
PATCH 1/1 Fix potential NULL pointer dereference bug in sas_smp_handler()
Hi,
The Coverity checker found a problem in drivers/scsi/libsas/sas_expander.c::sas_smp_handler(). We dereference a pointer before testing if it is NULL. Easily fixed in this case by simply moving an assignment down a bit.
Please consider for inclusion.
Patch has been compile tested only.
Signed-off-by Jesper Juhl <[email protected]>
---
drivers/scsi/libsas/sas_expander.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
drivers/scsi/libsas/sas_expander.c +3 -1
@@ -1879,7 +1879,7 @@ int sas_smp_handler(struct Scsi_Host *shost, struct sas_rphy *rphy, struct request *req) {struct domain_device *dev; -int ret, type = rphy->identify.device_type; +int ret, type;struct request *rsp = req->next_rq;if (!rsp) {
@@ -1895,6 +1895,8 @@ int sas_smp_handler(struct Scsi_Host *shost, struct sas_rphy *rphy,return -EINVAL ; } + type = rphy->identify.device_type; +if (type !=SAS_EDGE_EXPANDER_DEVICE && type !=SAS_FANOUT_EXPANDER_DEVICE ) { printk("%s: can we send a smp request to a device?\n",
PS. Please keep me on Cc when replying.