Commit b3cfaa31 authored by Sabrina Dubroca's avatar Sabrina Dubroca Committed by David S. Miller

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: d1fdd913 ("rtnl: add option for setting link xdp prog")
Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
Reviewed-by: default avatarBrenden Blanco <bblanco@plumgrid.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7e75f74a
...@@ -901,7 +901,8 @@ static size_t rtnl_port_size(const struct net_device *dev, ...@@ -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) 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) if (!dev->netdev_ops->ndo_xdp)
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment