summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Protopopov <aspsk@isovalent.com>2024-03-26 10:17:42 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-07-05 09:37:58 +0200
commitc8fe6e516336ae0b2f60f06ded2ad1636aa5d962 (patch)
tree1506a7bc7ab4ea6f6029ae4403bd8735bad22bf7
parent27df59c6071470efce7182ee92fbb16afba551e0 (diff)
bpf: Add a check for struct bpf_fib_lookup size
[ Upstream commit 59b418c7063d30e0a3e1f592d47df096db83185c ] The struct bpf_fib_lookup should not grow outside of its 64 bytes. Add a static assert to validate this. Suggested-by: David Ahern <dsahern@kernel.org> Signed-off-by: Anton Protopopov <aspsk@isovalent.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/bpf/20240326101742.17421-4-aspsk@isovalent.com Signed-off-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--net/core/filter.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/core/filter.c b/net/core/filter.c
index ce255e0a2fbd..15d850ea7d4a 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -87,6 +87,9 @@
#include "dev.h"
+/* Keep the struct bpf_fib_lookup small so that it fits into a cacheline */
+static_assert(sizeof(struct bpf_fib_lookup) == 64, "struct bpf_fib_lookup size check");
+
static const struct bpf_func_proto *
bpf_sk_base_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog);