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 <[email protected]>
---
Cc: Al Viro <[email protected]>
Cc: Christian Brauner <[email protected]>
Cc: Jan Kara <[email protected]>
Cc: <[email protected]>
---
 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


Reply via email to