]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
initramfs: reuse name_len for dir mtime tracking
authorDavid Disseldorp <ddiss@suse.de>
Tue, 4 Mar 2025 05:57:49 +0000 (16:57 +1100)
committerChristian Brauner <brauner@kernel.org>
Sat, 8 Mar 2025 11:13:26 +0000 (12:13 +0100)
We already have a nulterm-inclusive, checked name_len for the directory
name, so use that instead of calling strlen().

Signed-off-by: David Disseldorp <ddiss@suse.de>
Link: https://lore.kernel.org/r/20250304061020.9815-7-ddiss@suse.de
Signed-off-by: Christian Brauner <brauner@kernel.org>
init/initramfs.c

index df75624cdefbfebbb0bd8063d294f60d32fbdaf9..b9cacdc54eaf138b31677ecb4862e809f278d2eb 100644 (file)
@@ -144,9 +144,8 @@ struct dir_entry {
        char name[];
 };
 
-static void __init dir_add(const char *name, time64_t mtime)
+static void __init dir_add(const char *name, size_t nlen, time64_t mtime)
 {
-       size_t nlen = strlen(name) + 1;
        struct dir_entry *de;
 
        de = kmalloc(sizeof(struct dir_entry) + nlen, GFP_KERNEL);
@@ -170,7 +169,7 @@ static void __init dir_utime(void)
 #else
 static void __init do_utime(char *filename, time64_t mtime) {}
 static void __init do_utime_path(const struct path *path, time64_t mtime) {}
-static void __init dir_add(const char *name, time64_t mtime) {}
+static void __init dir_add(const char *name, size_t nlen, time64_t mtime) {}
 static void __init dir_utime(void) {}
 #endif
 
@@ -394,7 +393,7 @@ static int __init do_name(void)
                init_mkdir(collected, mode);
                init_chown(collected, uid, gid, 0);
                init_chmod(collected, mode);
-               dir_add(collected, mtime);
+               dir_add(collected, name_len, mtime);
        } else if (S_ISBLK(mode) || S_ISCHR(mode) ||
                   S_ISFIFO(mode) || S_ISSOCK(mode)) {
                if (maybe_link() == 0) {