21 Jun 2012 21:23
[PATCH] scsi: Avoid NULL dereferences in scsi_cmd_to_driver
Mark Rustad <mark.d.rustad <at> intel.com>
2012-06-21 19:23:42 GMT
2012-06-21 19:23:42 GMT
Avoid crashing if the private_data pointer happens to be NULL. This has
been seen sometimes when a host reset happens, notably when there are
many LUNs.
Signed-off-by: Mark Rustad <mark.d.rustad <at> intel.com>
Tested-by: Marcus Dennis <marcusx.e.dennis <at> intel.com>
---
include/scsi/scsi_cmnd.h | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h
index 1e11985..ac06cc5 100644
--- a/include/scsi/scsi_cmnd.h
+++ b/include/scsi/scsi_cmnd.h
<at> <at> -134,10 +134,16 <at> <at> struct scsi_cmnd {
static inline struct scsi_driver *scsi_cmd_to_driver(struct scsi_cmnd *cmd)
{
+ struct scsi_driver **sdp;
+
if (!cmd->request->rq_disk)
return NULL;
- return *(struct scsi_driver **)cmd->request->rq_disk->private_data;
+ sdp = (struct scsi_driver **)cmd->request->rq_disk->private_data;
+ if (!sdp)
+ return NULL;
+
+ return *sdp;
(Continue reading)
RSS Feed