]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
initramfs: Use struct_size() helper to improve dir_add()
authorThorsten Blum <thorsten.blum@linux.dev>
Fri, 12 Sep 2025 06:52:57 +0000 (08:52 +0200)
committerChristian Brauner <brauner@kernel.org>
Mon, 15 Sep 2025 12:42:56 +0000 (14:42 +0200)
Use struct_size() to calculate the number of bytes to allocate for a new
directory entry.  No functional changes.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Christian Brauner <brauner@kernel.org>
init/initramfs.c

index 097673b97784dbb7208891d05d66cf9d7b58d1b6..c607f4d681ef690f7fe2f208bd009052c032ffec 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/init_syscalls.h>
 #include <linux/umh.h>
 #include <linux/security.h>
+#include <linux/overflow.h>
 
 #include "do_mounts.h"
 #include "initramfs_internal.h"
@@ -152,7 +153,7 @@ static void __init dir_add(const char *name, size_t nlen, time64_t mtime)
 {
        struct dir_entry *de;
 
-       de = kmalloc(sizeof(struct dir_entry) + nlen, GFP_KERNEL);
+       de = kmalloc(struct_size(de, name, nlen), GFP_KERNEL);
        if (!de)
                panic_show_mem("can't allocate dir_entry buffer");
        INIT_LIST_HEAD(&de->list);