summaryrefslogtreecommitdiff
path: root/fs/proc
diff options
context:
space:
mode:
authorAlexey Dobriyan <adobriyan@gmail.com>2024-09-08 12:27:45 +0300
committerChristian Brauner <brauner@kernel.org>2024-09-09 10:51:20 +0200
commit4ad5f9a021bd7e3a48a8d11c52cef36d5e05ffcc (patch)
treeba3242693078a3d20ad9b1c9eb3154b78c7af805 /fs/proc
parentd80b065bb1721f88be705ca1dfc69ec1c685925e (diff)
downloadlwn-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.c4
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 {