diff options
-rw-r--r-- | net/core/filter.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/core/filter.c b/net/core/filter.c index 0ce93edefb0e..81bd2e9fe8fc 100644 --- a/net/core/filter.c +++ b/net/core/filter.c | |||
@@ -4270,6 +4270,9 @@ BPF_CALL_4(bpf_xdp_fib_lookup, struct xdp_buff *, ctx, | |||
4270 | if (plen < sizeof(*params)) | 4270 | if (plen < sizeof(*params)) |
4271 | return -EINVAL; | 4271 | return -EINVAL; |
4272 | 4272 | ||
4273 | if (flags & ~(BPF_FIB_LOOKUP_DIRECT | BPF_FIB_LOOKUP_OUTPUT)) | ||
4274 | return -EINVAL; | ||
4275 | |||
4273 | switch (params->family) { | 4276 | switch (params->family) { |
4274 | #if IS_ENABLED(CONFIG_INET) | 4277 | #if IS_ENABLED(CONFIG_INET) |
4275 | case AF_INET: | 4278 | case AF_INET: |
@@ -4304,6 +4307,9 @@ BPF_CALL_4(bpf_skb_fib_lookup, struct sk_buff *, skb, | |||
4304 | if (plen < sizeof(*params)) | 4307 | if (plen < sizeof(*params)) |
4305 | return -EINVAL; | 4308 | return -EINVAL; |
4306 | 4309 | ||
4310 | if (flags & ~(BPF_FIB_LOOKUP_DIRECT | BPF_FIB_LOOKUP_OUTPUT)) | ||
4311 | return -EINVAL; | ||
4312 | |||
4307 | switch (params->family) { | 4313 | switch (params->family) { |
4308 | #if IS_ENABLED(CONFIG_INET) | 4314 | #if IS_ENABLED(CONFIG_INET) |
4309 | case AF_INET: | 4315 | case AF_INET: |