mpt3sas: Fix static analyzer(coverity) tool identified defects
authorSuganath prabu Subramani <suganath-prabu.subramani@avagotech.com>
Thu, 28 Jan 2016 06:37:00 +0000 (12:07 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 24 Feb 2016 02:27:02 +0000 (21:27 -0500)
1.Wrong size of argument is being passed
 The size of struct being passed as an argument to memset func and area of
 memory being pointed by an instance of struct in memset func should be of
 same structure type.
2.Dereference null return value
3.Array compared against '0'
 Check whether value pointed by particular index of an array is null or not
 in "if" statement.

Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com>
Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpt3sas/mpt3sas_ctl.c
drivers/scsi/mpt3sas/mpt3sas_scsih.c
drivers/scsi/mpt3sas/mpt3sas_transport.c

index ef9971eaf8bf91a1c14d4be54189b14cb5d3b0d6..d872587814d74639a759d079470815f996f9ea3a 100644 (file)
@@ -401,7 +401,8 @@ mpt3sas_ctl_event_callback(struct MPT3SAS_ADAPTER *ioc, u8 msix_index,
        Mpi2EventNotificationReply_t *mpi_reply;
 
        mpi_reply = mpt3sas_base_get_reply_virt_addr(ioc, reply);
-       mpt3sas_ctl_add_to_event_log(ioc, mpi_reply);
+       if (mpi_reply)
+               mpt3sas_ctl_add_to_event_log(ioc, mpi_reply);
        return 1;
 }
 
index 0fb4ccdfb56275a499ff2540649aaac280ddd32d..686a46a56c12c04e93eb659fc595e4efe9fafa25 100644 (file)
@@ -2399,7 +2399,7 @@ _scsih_tm_display_info(struct MPT3SAS_ADAPTER *ioc, struct scsi_cmnd *scmd)
                                 (unsigned long long)
                                 sas_device->enclosure_logical_id,
                                 sas_device->slot);
-                       if (sas_device->connector_name)
+                       if (sas_device->connector_name[0] != '\0')
                                starget_printk(KERN_INFO, starget,
                                "enclosure level(0x%04x),connector name(%s)\n",
                                 sas_device->enclosure_level,
@@ -3134,7 +3134,7 @@ _scsih_tm_tr_send(struct MPT3SAS_ADAPTER *ioc, u16 handle)
                         " slot(%d)\n", ioc->name, (unsigned long long)
                          sas_device->enclosure_logical_id,
                          sas_device->slot));
-               if (sas_device->connector_name)
+               if (sas_device->connector_name[0] != '\0')
                        dewtprintk(ioc, pr_info(MPT3SAS_FMT
                         "setting delete flag: enclosure level(0x%04x),"
                         " connector name( %s)\n", ioc->name,
index df08aeb5dbd41629d8ee627a63df011e149d4b8e..6a84b82d71bb333999e1fee8cc87e40a9dc80217 100644 (file)
@@ -1600,7 +1600,7 @@ _transport_phy_reset(struct sas_phy *phy, int hard_reset)
                    SMP_PHY_CONTROL_LINK_RESET);
 
        /* handle hba phys */
-       memset(&mpi_request, 0, sizeof(Mpi2SasIoUnitControlReply_t));
+       memset(&mpi_request, 0, sizeof(Mpi2SasIoUnitControlRequest_t));
        mpi_request.Function = MPI2_FUNCTION_SAS_IO_UNIT_CONTROL;
        mpi_request.Operation = hard_reset ?
            MPI2_SAS_OP_PHY_HARD_RESET : MPI2_SAS_OP_PHY_LINK_RESET;
This page took 0.030381 seconds and 5 git commands to generate.