From: Kees Cook Date: Mon, 20 Oct 2025 22:01:17 +0000 (-0700) Subject: coredump: Use __counted_by_ptr for struct core_name::corename X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fac4ab5cd0ad8d3abce6d2b519c9f0d26c8f2abc;p=thirdparty%2Flinux.git coredump: Use __counted_by_ptr for struct core_name::corename Use the __counted_by annotation now available for struct pointer members, __counted_by_ptr(). Move assignments to immediately after allocation. Link: https://patch.msgid.link/20251020220118.1226740-3-kees@kernel.org Signed-off-by: Kees Cook --- diff --git a/fs/coredump.c b/fs/coredump.c index 8feb9c1cf83db..c7f75042831a9 100644 --- a/fs/coredump.c +++ b/fs/coredump.c @@ -92,7 +92,7 @@ enum coredump_type_t { }; struct core_name { - char *corename; + char *corename __counted_by_ptr(size); int used, size; unsigned int core_pipe_limit; bool core_dumped; @@ -106,15 +106,15 @@ static int expand_corename(struct core_name *cn, int size) size = kmalloc_size_roundup(size); corename = krealloc(cn->corename, size, GFP_KERNEL); - if (!corename) return -ENOMEM; + cn->corename = corename; + cn->size = size; + if (size > core_name_size) /* racy but harmless */ core_name_size = size; - cn->size = size; - cn->corename = corename; return 0; }