Commit 1a1c116f3dcf removes nlmsg_len calculation in ibnl_put_attr causing netlink messages to be rejected due to incorrect length. Restore the netlink message header length calculation to include the added attribute. Fixes: 1a1c116f3dcf ("RDMA/netlink: Simplify the put_msg and put_attr") Signed-off-by: Shiraz Saleem <shiraz.saleem@xxxxxxxxx> Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@xxxxxxxxx> --- drivers/infiniband/core/netlink.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/infiniband/core/netlink.c b/drivers/infiniband/core/netlink.c index e685148..889d091 100644 --- a/drivers/infiniband/core/netlink.c +++ b/drivers/infiniband/core/netlink.c @@ -150,10 +150,14 @@ EXPORT_SYMBOL(ibnl_put_msg); int ibnl_put_attr(struct sk_buff *skb, struct nlmsghdr *nlh, int len, void *data, int type) { + unsigned char *prev_tail; + + prev_tail = skb_tail_pointer(skb); if (nla_put(skb, type, len, data)) { nlmsg_cancel(skb, nlh); return -EMSGSIZE; } + nlh->nlmsg_len += skb_tail_pointer(skb) - prev_tail; return 0; } EXPORT_SYMBOL(ibnl_put_attr); -- 2.8.3 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html