If there's a device without scsi_dev_data in the list of devices,
iprconfig might segfault when formatting a device for an array. This
prevents this scenario.

Signed-off-by: Gabriel Krisman Bertazi <kris...@linux.vnet.ibm.com>
---
 iprlib.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/iprlib.c b/iprlib.c
index 09b984f..eb077a5 100644
--- a/iprlib.c
+++ b/iprlib.c
@@ -3709,14 +3709,17 @@ static struct ipr_dev *find_multipath_jbod(struct 
ipr_dev *dev)
 {
        struct ipr_ioa *ioa;
        struct ipr_dev *multipath_dev;
+       u64 id = dev->scsi_dev_data->device_id;
 
        for_each_sas_ioa(ioa) {
                if (ioa == dev->ioa)
                        continue;
 
                for_each_dev(ioa, multipath_dev) {
-                       if (dev->scsi_dev_data->device_id == 
multipath_dev->scsi_dev_data->device_id)
+                       if (multipath_dev->scsi_dev_data &&
+                           id == multipath_dev->scsi_dev_data->device_id)
                                return multipath_dev;
+
                        }
        }
 
-- 
2.1.0


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Iprdd-devel mailing list
Iprdd-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iprdd-devel

Reply via email to