diff options
author | David Ahern <dsahern@gmail.com> | 2019-05-22 12:07:43 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-05-22 17:50:24 -0700 |
commit | 75425657fe3ad853b300976966d8fafa3f209b89 (patch) | |
tree | 6ec1b0dadf34348c24bdc764b2e3b5c782cc030c /net/ipv4/fib_frontend.c | |
parent | e38f7cbd36e4d8ef6c1c56f9643adf8898cb3cb9 (diff) | |
download | linux-75425657fe3ad853b300976966d8fafa3f209b89.tar.gz linux-75425657fe3ad853b300976966d8fafa3f209b89.tar.bz2 linux-75425657fe3ad853b300976966d8fafa3f209b89.zip |
net: Set strict_start_type for routes and rules
New userspace on an older kernel can send unknown and unsupported
attributes resulting in an incompelete config which is almost
always wrong for routing (few exceptions are passthrough settings
like the protocol that installed the route).
Set strict_start_type in the policies for IPv4 and IPv6 routes and
rules to detect new, unsupported attributes and fail the route add.
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/fib_frontend.c')
-rw-r--r-- | net/ipv4/fib_frontend.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index dfa57a84ac14..76055c66326a 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c @@ -645,6 +645,7 @@ int ip_rt_ioctl(struct net *net, unsigned int cmd, struct rtentry *rt) } const struct nla_policy rtm_ipv4_policy[RTA_MAX + 1] = { + [RTA_UNSPEC] = { .strict_start_type = RTA_DPORT + 1 }, [RTA_DST] = { .type = NLA_U32 }, [RTA_SRC] = { .type = NLA_U32 }, [RTA_IIF] = { .type = NLA_U32 }, |