kernfs: remove KERNFS_STATIC_NAME
When a new kernfs node is created, KERNFS_STATIC_NAME is used to avoid making a separate copy of its name. It's currently only used for sysfs attributes whose filenames are required to stay accessible and unchanged. There are rare exceptions where these names are allocated and formatted dynamically but for the vast majority of cases they're consts in the rodata section. Now that kernfs is converted to use kstrdup_const() and kfree_const(), there's little point in keeping KERNFS_STATIC_NAME around. Remove it. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
75287a677b
commit
dfeb0750b6
@@ -411,8 +411,9 @@ void kernfs_put(struct kernfs_node *kn)
|
||||
|
||||
if (kernfs_type(kn) == KERNFS_LINK)
|
||||
kernfs_put(kn->symlink.target_kn);
|
||||
if (!(kn->flags & KERNFS_STATIC_NAME))
|
||||
kfree_const(kn->name);
|
||||
|
||||
kfree_const(kn->name);
|
||||
|
||||
if (kn->iattr) {
|
||||
if (kn->iattr->ia_secdata)
|
||||
security_release_secctx(kn->iattr->ia_secdata,
|
||||
@@ -506,15 +507,12 @@ static struct kernfs_node *__kernfs_new_node(struct kernfs_root *root,
|
||||
const char *name, umode_t mode,
|
||||
unsigned flags)
|
||||
{
|
||||
const char *dup_name = NULL;
|
||||
struct kernfs_node *kn;
|
||||
int ret;
|
||||
|
||||
if (!(flags & KERNFS_STATIC_NAME)) {
|
||||
name = dup_name = kstrdup_const(name, GFP_KERNEL);
|
||||
if (!name)
|
||||
return NULL;
|
||||
}
|
||||
name = kstrdup_const(name, GFP_KERNEL);
|
||||
if (!name)
|
||||
return NULL;
|
||||
|
||||
kn = kmem_cache_zalloc(kernfs_node_cache, GFP_KERNEL);
|
||||
if (!kn)
|
||||
@@ -538,7 +536,7 @@ static struct kernfs_node *__kernfs_new_node(struct kernfs_root *root,
|
||||
err_out2:
|
||||
kmem_cache_free(kernfs_node_cache, kn);
|
||||
err_out1:
|
||||
kfree_const(dup_name);
|
||||
kfree_const(name);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -1285,9 +1283,7 @@ int kernfs_rename_ns(struct kernfs_node *kn, struct kernfs_node *new_parent,
|
||||
|
||||
kn->ns = new_ns;
|
||||
if (new_name) {
|
||||
if (!(kn->flags & KERNFS_STATIC_NAME))
|
||||
old_name = kn->name;
|
||||
kn->flags &= ~KERNFS_STATIC_NAME;
|
||||
old_name = kn->name;
|
||||
kn->name = new_name;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user