bpf: Add a check for struct bpf_fib_lookup size
authorAnton Protopopov <aspsk@isovalent.com>
Tue, 26 Mar 2024 10:17:42 +0000 (10:17 +0000)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 29 Mar 2024 01:30:53 +0000 (18:30 -0700)
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>
net/core/filter.c

index 1205dd777dc2f2b91d3f94042cf7cb5c3f50069b..786d792ac8161e76339154b8ac2f8b9335182349 100644 (file)
@@ -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);