The patch titled Subject: gcov: annotate struct gcov_iterator with __counted_by has been added to the -mm mm-nonmm-unstable branch. Its filename is gcov-annotate-struct-gcov_iterator-with-__counted_by.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/gcov-annotate-struct-gcov_iterator-with-__counted_by.patch This patch will later appear in the mm-nonmm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Kees Cook <keescook@xxxxxxxxxxxx> Subject: gcov: annotate struct gcov_iterator with __counted_by Date: Fri, 22 Sep 2023 10:52:20 -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 checking 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 gcov_iterator. [1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci Link: https://lkml.kernel.org/r/20230922175220.work.327-kees@xxxxxxxxxx Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx> Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxx> Cc: Nathan Chancellor <nathan@xxxxxxxxxx> Cc: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> Cc: Tom Rix <trix@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/gcov/fs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/kernel/gcov/fs.c~gcov-annotate-struct-gcov_iterator-with-__counted_by +++ a/kernel/gcov/fs.c @@ -99,7 +99,7 @@ struct gcov_iterator { struct gcov_info *info; size_t size; loff_t pos; - char buffer[]; + char buffer[] __counted_by(size); }; /** _ Patches currently in -mm which might be from keescook@xxxxxxxxxxxx are mm-memcg-annotate-struct-mem_cgroup_threshold_ary-with-__counted_by.patch ocfs2-annotate-struct-ocfs2_replay_map-with-__counted_by.patch gcov-annotate-struct-gcov_iterator-with-__counted_by.patch