From: Sabrina Dubroca Date: Tue, 15 Nov 2016 10:16:35 +0000 (+0100) Subject: rtnetlink: fix rtnl message size computation for XDP X-Git-Tag: v4.14-rc1~2059^2~27 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b3cfaa31e3851c743d3f9d3441710f7ff6f7e868;p=platform%2Fkernel%2Flinux-rpi.git rtnetlink: fix rtnl message size computation for XDP rtnl_xdp_size() only considers the size of the actual payload attribute, and misses the space taken by the attribute used for nesting (IFLA_XDP). Fixes: d1fdd9138682 ("rtnl: add option for setting link xdp prog") Signed-off-by: Sabrina Dubroca Reviewed-by: Brenden Blanco Signed-off-by: David S. Miller --- diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 96f4bf27..a6529c5 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -901,7 +901,8 @@ static size_t rtnl_port_size(const struct net_device *dev, static size_t rtnl_xdp_size(const struct net_device *dev) { - size_t xdp_size = nla_total_size(1); /* XDP_ATTACHED */ + size_t xdp_size = nla_total_size(0) + /* nest IFLA_XDP */ + nla_total_size(1); /* XDP_ATTACHED */ if (!dev->netdev_ops->ndo_xdp) return 0;