rtnl: protect do_setlink from IFLA_XDP_ATTACHED

The IFLA_XDP_ATTACHED nested attribute is meant for read-only, and while
do_setlink properly ignores it, it should be more paranoid and reject
commands that try to set it.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Brenden Blanco 2016-07-20 17:22:34 -07:00 committed by David S. Miller
parent cb7386d37e
commit 262d862504

View File

@ -2109,6 +2109,10 @@ static int do_setlink(const struct sk_buff *skb,
if (err < 0)
goto errout;
if (xdp[IFLA_XDP_ATTACHED]) {
err = -EINVAL;
goto errout;
}
if (xdp[IFLA_XDP_FD]) {
err = dev_change_xdp_fd(dev,
nla_get_s32(xdp[IFLA_XDP_FD]));