]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
RDMA/bnxt_re: fix or'ing of data into an uninitialized struct member
authorColin Ian King <colin.king@canonical.com>
Mon, 11 Feb 2019 13:34:15 +0000 (13:34 +0000)
committerJason Gunthorpe <jgg@mellanox.com>
Mon, 11 Feb 2019 22:34:54 +0000 (15:34 -0700)
The struct member comp_mask has not been initialized however a bit
pattern is being bitwise or'd into the member and hence other bit
fields in comp_mask may contain any garbage from the stack. Fix this
by making the bitwise or into an assignment.

Fixes: 95b86d1c91ad ("RDMA/bnxt_re: Update kernel user abi to pass chip context")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Devesh Sharma <devesh.sharma@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/bnxt_re/ib_verbs.c

index bff9320a968ed18294b90d306613e40cfe2b4ed2..2ed778683c6be2c8737f068fee731e6974b1a2d7 100644 (file)
@@ -3702,7 +3702,7 @@ struct ib_ucontext *bnxt_re_alloc_ucontext(struct ib_device *ibdev,
        }
        spin_lock_init(&uctx->sh_lock);
 
-       resp.comp_mask |= BNXT_RE_UCNTX_CMASK_HAVE_CCTX;
+       resp.comp_mask = BNXT_RE_UCNTX_CMASK_HAVE_CCTX;
        chip_met_rev_num = rdev->chip_ctx.chip_num;
        chip_met_rev_num |= ((u32)rdev->chip_ctx.chip_rev & 0xFF) <<
                             BNXT_RE_CHIP_ID0_CHIP_REV_SFT;