]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
nexthop: Annotate struct nh_notifier_res_table_info with __counted_by
authorKees Cook <keescook@chromium.org>
Tue, 3 Oct 2023 23:18:18 +0000 (16:18 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 6 Oct 2023 01:31:34 +0000 (18:31 -0700)
Prepare for the coming implementation by GCC and Clang of the __counted_by
attribute. Flexible array members annotated with __counted_by can have
their accesses bounds-checked at run-time via CONFIG_UBSAN_BOUNDS (for
array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
functions).

As found with Coccinelle[1], add __counted_by for struct
nh_notifier_res_table_info.

Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Tom Rix <trix@redhat.com>
Cc: llvm@lists.linux.dev
Link: https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20231003231818.work.883-kees@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/nexthop.h

index 0b1172dbb334e36e782edbe7cbb6b37dfb657329..dbd90e8fe9d6a1790d17824d3b9ab757c3fcbaea 100644 (file)
@@ -200,7 +200,7 @@ struct nh_notifier_res_bucket_info {
 
 struct nh_notifier_res_table_info {
        u16 num_nh_buckets;
-       struct nh_notifier_single_info nhs[];
+       struct nh_notifier_single_info nhs[] __counted_by(num_nh_buckets);
 };
 
 struct nh_notifier_info {