diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2024-09-08 12:27:45 +0300 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2024-09-09 10:51:20 +0200 |
commit | 4ad5f9a021bd7e3a48a8d11c52cef36d5e05ffcc (patch) | |
tree | ba3242693078a3d20ad9b1c9eb3154b78c7af805 /fs/proc | |
parent | d80b065bb1721f88be705ca1dfc69ec1c685925e (diff) | |
download | lwn-4ad5f9a021bd7e3a48a8d11c52cef36d5e05ffcc.tar.gz lwn-4ad5f9a021bd7e3a48a8d11c52cef36d5e05ffcc.zip |
proc: fold kmalloc() + strcpy() into kmemdup()
strcpy() will recalculate string length second time which is
unnecessary in this case.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Link: https://lore.kernel.org/r/90af27c1-0b86-47a6-a6c8-61a58b8aa747@p183
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/proc')
-rw-r--r-- | fs/proc/generic.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/proc/generic.c b/fs/proc/generic.c index c02f1e63f82d..dbe82cf23ee4 100644 --- a/fs/proc/generic.c +++ b/fs/proc/generic.c @@ -464,9 +464,9 @@ struct proc_dir_entry *proc_symlink(const char *name, (S_IFLNK | S_IRUGO | S_IWUGO | S_IXUGO),1); if (ent) { - ent->data = kmalloc((ent->size=strlen(dest))+1, GFP_KERNEL); + ent->size = strlen(dest); + ent->data = kmemdup(dest, ent->size + 1, GFP_KERNEL); if (ent->data) { - strcpy((char*)ent->data,dest); ent->proc_iops = &proc_link_inode_operations; ent = proc_register(parent, ent); } else { |