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: Andrzej 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: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
3dec16ea38
commit
fcc139ae22
@ -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)
|
|||||||
|
|
||||||
#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)
|
|||||||
|
|
||||||
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
|
||||||
|
Loading…
Reference in New Issue
Block a user