diff options
author | Leon Romanovsky <leonro@mellanox.com> | 2017-10-31 14:09:54 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-10-31 15:12:55 -0400 |
commit | 287683d027a3ff83feb6c7044430c79881664ecf (patch) | |
tree | a047276f244bba9f13d37362c493e8438de80e69 | |
parent | 5f479447d983111c039f1d6d958553c1ad1b2ff1 (diff) |
RDMA/nldev: Enforce device index check for port callback
IB device index is nldev's handler and it should be checked always.
Fixes: c3f66f7b0052 ("RDMA/netlink: Implement nldev port doit callback")
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Acked-by: Doug Ledford <dledford@redhat.com>
[ Applying directly, since Doug fried his SSD's and is rebuilding - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | drivers/infiniband/core/nldev.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/infiniband/core/nldev.c b/drivers/infiniband/core/nldev.c index 3ba24c428c3b..2fae850a3eff 100644 --- a/drivers/infiniband/core/nldev.c +++ b/drivers/infiniband/core/nldev.c | |||
@@ -214,7 +214,9 @@ static int nldev_port_get_doit(struct sk_buff *skb, struct nlmsghdr *nlh, | |||
214 | 214 | ||
215 | err = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1, | 215 | err = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1, |
216 | nldev_policy, extack); | 216 | nldev_policy, extack); |
217 | if (err || !tb[RDMA_NLDEV_ATTR_PORT_INDEX]) | 217 | if (err || |
218 | !tb[RDMA_NLDEV_ATTR_DEV_INDEX] || | ||
219 | !tb[RDMA_NLDEV_ATTR_PORT_INDEX]) | ||
218 | return -EINVAL; | 220 | return -EINVAL; |
219 | 221 | ||
220 | index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]); | 222 | index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]); |