summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorKees Cook <kees@kernel.org>2025-10-20 15:01:17 -0700
committerKees Cook <kees@kernel.org>2026-01-17 11:00:37 -0800
commitfac4ab5cd0ad8d3abce6d2b519c9f0d26c8f2abc (patch)
tree9185398c2bdb3fcf97dc909cb0aeeaa2956b16d3 /fs
parenta120a832e3ebca48474d7183ddeadf4138472535 (diff)
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 <kees@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/coredump.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/coredump.c b/fs/coredump.c
index 8feb9c1cf83d..c7f75042831a 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;
}