Message ID | 20210623171202.161107-1-colin.king@canonical.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [next] RDMA/bnxt_re: Fix uninitialized struct bit field rsvd1 | expand |
On Wed, Jun 23, 2021 at 06:12:02PM +0100, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > The bit field rsvd1 in resp is not being initialized and garbage data > is being copied from the stack back to userspace via the ib_copy_to_udata > call. Fix this by setting rsvd1 to zero. Also remove some whitespace. > > Addresses-Coverity: ("Uninitialized scalar variable") > Fixes: 879740517dab ("RDMA/bnxt_re: Update ABI to pass wqe-mode to user space") > Signed-off-by: Colin Ian King <colin.king@canonical.com> > drivers/infiniband/hw/bnxt_re/ib_verbs.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c > index 5955713234cb..45398f1777aa 100644 > +++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c > @@ -3880,7 +3880,8 @@ int bnxt_re_alloc_ucontext(struct ib_ucontext *ctx, struct ib_udata *udata) > resp.pg_size = PAGE_SIZE; > resp.cqe_sz = sizeof(struct cq_base); > resp.max_cqd = dev_attr->max_cq_wqes; > - resp.rsvd = 0; > + resp.rsvd = 0; > + resp.rsvd1 = 0; I think I would prefer struct bnxt_re_uctx_resp resp = {}; This isn't a performance path Jason
diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c index 5955713234cb..45398f1777aa 100644 --- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c +++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c @@ -3880,7 +3880,8 @@ int bnxt_re_alloc_ucontext(struct ib_ucontext *ctx, struct ib_udata *udata) resp.pg_size = PAGE_SIZE; resp.cqe_sz = sizeof(struct cq_base); resp.max_cqd = dev_attr->max_cq_wqes; - resp.rsvd = 0; + resp.rsvd = 0; + resp.rsvd1 = 0; resp.comp_mask |= BNXT_RE_UCNTX_CMASK_HAVE_MODE; resp.mode = rdev->chip_ctx->modes.wqe_mode;