[PATCH 3/3] coredump: Use __counted_by_ptr for struct core_name::corename

From: Kees Cook

Date: Mon Oct 20 2025 - 18:01:19 EST


Use the __counted_by annotation now available for struct pointer
members, __counted_by_ptr(). Move assignments to immediately
after allocation.

Signed-off-by: Kees Cook <kees@xxxxxxxxxx>
---
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Christian Brauner <brauner@xxxxxxxxxx>
Cc: Jan Kara <jack@xxxxxxx>
Cc: <linux-fsdevel@xxxxxxxxxxxxxxx>
---
fs/coredump.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/coredump.c b/fs/coredump.c
index 5c1c381ee380..876f1cdb756f 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;
}

--
2.34.1