Commit fcc139ae authored by Andrzej Hajda's avatar Andrzej Hajda Committed by Linus Torvalds

fs/namespace: convert devname allocation to kstrdup_const

VFS frequently performs duplication of strings located in read-only memory
section.  Replacing kstrdup by kstrdup_const allows to avoid such
operations.
Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Greg KH <greg@kroah.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3dec16ea
...@@ -201,7 +201,7 @@ static struct mount *alloc_vfsmnt(const char *name) ...@@ -201,7 +201,7 @@ static struct mount *alloc_vfsmnt(const char *name)
goto out_free_cache; goto out_free_cache;
if (name) { if (name) {
mnt->mnt_devname = kstrdup(name, GFP_KERNEL); mnt->mnt_devname = kstrdup_const(name, GFP_KERNEL);
if (!mnt->mnt_devname) if (!mnt->mnt_devname)
goto out_free_id; goto out_free_id;
} }
...@@ -234,7 +234,7 @@ static struct mount *alloc_vfsmnt(const char *name) ...@@ -234,7 +234,7 @@ static struct mount *alloc_vfsmnt(const char *name)
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
out_free_devname: out_free_devname:
kfree(mnt->mnt_devname); kfree_const(mnt->mnt_devname);
#endif #endif
out_free_id: out_free_id:
mnt_free_id(mnt); mnt_free_id(mnt);
...@@ -568,7 +568,7 @@ int sb_prepare_remount_readonly(struct super_block *sb) ...@@ -568,7 +568,7 @@ int sb_prepare_remount_readonly(struct super_block *sb)
static void free_vfsmnt(struct mount *mnt) static void free_vfsmnt(struct mount *mnt)
{ {
kfree(mnt->mnt_devname); kfree_const(mnt->mnt_devname);
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
free_percpu(mnt->mnt_pcp); free_percpu(mnt->mnt_pcp);
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment