nvme: initialize variable before logical OR'ing it
authorJay Freyensee <james.p.freyensee@intel.com>
Thu, 21 Jul 2016 03:26:16 +0000 (21:26 -0600)
committerJens Axboe <axboe@fb.com>
Thu, 21 Jul 2016 03:26:16 +0000 (21:26 -0600)
It is typically not good coding or secure coding practice
to logical OR a variable without an initialization value first.
Here on this line:

integrity.flags |= BLK_INTEGRITY_DEVICE_CAPABLE;

BLK_INTEGRITY_DEVICE_CAPABLE is being OR'ed to a member variable
never set to an initial value. This patch fixes that.

Signed-off-by: Jay Freyensee <james.p.freyensee@intel.com>
Reviewed-by: Ming Lin <ming.l@samsung.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/nvme/host/core.c

index 9f0ec3b4659fcfeeede6cee056fc19e6e22be8b9..74b1d380dd423ddc0969474c6e41c398d646fc4c 100644 (file)
@@ -842,6 +842,7 @@ static void nvme_init_integrity(struct nvme_ns *ns)
 {
        struct blk_integrity integrity;
 
+       memset(&integrity, 0, sizeof(integrity));
        switch (ns->pi_type) {
        case NVME_NS_DPS_PI_TYPE3:
                integrity.profile = &t10_pi_type3_crc;