]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/bnxt_re: Reject GET_TOGGLE_MEM when toggle page was not allocated
authorSelvin Xavier <selvin.xavier@broadcom.com>
Mon, 15 Jun 2026 22:47:51 +0000 (15:47 -0700)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 16 Jun 2026 17:30:40 +0000 (14:30 -0300)
If a user calls BNXT_RE_METHOD_GET_TOGGLE_MEM on a device that does not
support the CQ/SRQ toggle feature, uctx_cq_page or uctx_srq_page will
be NULL.

Add an explicit -EOPNOTSUPP return after capturing the address from
uctx_cq_page / uctx_srq_page if the address is zero.

Fixes: e275919d9669 ("RDMA/bnxt_re: Share a page to expose per CQ info with userspace")
Fixes: 181028a0d84c ("RDMA/bnxt_re: Share a page to expose per SRQ info with userspace")
Link: https://patch.msgid.link/r/20260615224751.232802-16-selvin.xavier@broadcom.com
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/bnxt_re/uapi.c

index 19f92d6a46c07b5f3a2daf5bdeba30cf20f68d3b..263238a6e4cdd1ccef15b1ad50e1fa6f96a315a8 100644 (file)
@@ -277,6 +277,8 @@ static int UVERBS_HANDLER(BNXT_RE_METHOD_GET_TOGGLE_MEM)(struct uverbs_attr_bund
                        return -EINVAL;
 
                addr = (u64)cq->uctx_cq_page;
+               if (!addr)
+                       return -EOPNOTSUPP;
                break;
        case BNXT_RE_SRQ_TOGGLE_MEM:
                srq = bnxt_re_search_for_srq(rdev, res_id);
@@ -284,6 +286,8 @@ static int UVERBS_HANDLER(BNXT_RE_METHOD_GET_TOGGLE_MEM)(struct uverbs_attr_bund
                        return -EINVAL;
 
                addr = (u64)srq->uctx_srq_page;
+               if (!addr)
+                       return -EOPNOTSUPP;
                break;
 
        default: