RE: [SCSI] mpt2sas: Fixed Big Indian Issues on 32 bit PPC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dan - I fixed the issue about a couple weeks ago in the in-house drivers.  From _base_get_ioc_facts, we should be memset'ing the "struct mpt2sas_facts" instead of "Mpi2IOCFactsReply_t ", because the its four bytes larger, the ioc->pfacts is getting set to NULL.   Nagalaksmi will pick it up this fix and post upstream in a future patch.

Thankyou,
Eric

________________________________________
From: linux-scsi-owner@xxxxxxxxxxxxxxx [linux-scsi-owner@xxxxxxxxxxxxxxx] On Behalf Of Dan Carpenter [dan.carpenter@xxxxxxxxxx]
Sent: Monday, February 20, 2012 7:05 AM
To: Desai, Kashyap
Cc: linux-scsi@xxxxxxxxxxxxxxx
Subject: re: [SCSI] mpt2sas: Fixed Big Indian Issues on 32 bit PPC

Hello Kashyap, Desai,

The patch c97951ec46d4: "[SCSI] mpt2sas: Fixed Big Indian Issues on
32 bit PPC" from Jun 14, 2011, leads to the following static checker
warning:

drivers/scsi/mpt2sas/mpt2sas_base.c:3352 _base_get_port_facts()
         warn: are we memsetting too much? 6 vs 28

We changed the size of certain data structures.

-       Mpi2IOCFactsReply_t facts;
-       Mpi2PortFactsReply_t *pfacts;
+       struct mpt2sas_facts facts;
+       struct mpt2sas_port_facts *pfacts;

But it's not done consistently.  We still memset it as if it were the
original size.

        memset(facts, 0, sizeof(Mpi2IOCFactsReply_t));

And we still allocate the original size data structure:

  4270          ioc->pfacts = kcalloc(ioc->facts.NumberOfPorts,
  4271              sizeof(Mpi2PortFactsReply_t), GFP_KERNEL);

There are a couple other warnings as well.
drivers/scsi/mpt2sas/mpt2sas_base.c:3394 _base_get_ioc_facts(24)
        warn: are we memsetting too much? 60 vs 64
drivers/scsi/mpt2sas/mpt2sas_base.c:4270 mpt2sas_base_attach(56)
        warn: double check that we're allocating correct size: 6 vs 28

Obviously the concern with a too big memset is that we're corrupting
the next element in the array or we're corrupting past the end of the
array.

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux