summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQianqiang Liu <qianqiang.liu@163.com>2024-09-27 17:06:13 +0300
committerLeon Romanovsky <leon@kernel.org>2024-10-08 10:12:42 +0300
commit6ff57a2ea7c2911f80457a5a3a5b4370756ad475 (patch)
tree071e58517d3e61b3f6aaba285c0fe2c1804c3f03
parent8e65abacbce22fc8dcf6d58f7937e721d8a13fdd (diff)
downloadlinux-6ff57a2ea7c2911f80457a5a3a5b4370756ad475.tar.xz
RDMA/nldev: Fix NULL pointer dereferences issue in rdma_nl_notify_event
nlmsg_put() may return a NULL pointer assigned to nlh, which will later be dereferenced in nlmsg_end(). Fixes: 9cbed5aab5ae ("RDMA/nldev: Add support for RDMA monitoring") Link: https://patch.msgid.link/r/Zva71Yf3F94uxi5A@iZbp1asjb3cy8ks0srf007Z Signed-off-by: Qianqiang Liu <qianqiang.liu@163.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Leon Romanovsky <leon@kernel.org>
-rw-r--r--drivers/infiniband/core/nldev.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/core/nldev.c b/drivers/infiniband/core/nldev.c
index 39f89a4b8649..7dc8e2ec62cc 100644
--- a/drivers/infiniband/core/nldev.c
+++ b/drivers/infiniband/core/nldev.c
@@ -2816,6 +2816,8 @@ int rdma_nl_notify_event(struct ib_device *device, u32 port_num,
nlh = nlmsg_put(skb, 0, 0,
RDMA_NL_GET_TYPE(RDMA_NL_NLDEV, RDMA_NLDEV_CMD_MONITOR),
0, 0);
+ if (!nlh)
+ goto err_free;
switch (type) {
case RDMA_REGISTER_EVENT: