]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
kernfs: update kernfs_rename_ns() to consider KERNFS_STATIC_NAME
authorTejun Heo <tj@kernel.org>
Wed, 11 Dec 2013 21:02:58 +0000 (16:02 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Dec 2013 16:59:15 +0000 (08:59 -0800)
commit47a52e91f485dfd935042dbd2f66df1ac3fdfbb9
tree883d840cec492ce65584354205874fc92438d262
parent2063d608f5110d120db60e896ec2c70c95bb7978
kernfs: update kernfs_rename_ns() to consider KERNFS_STATIC_NAME

kernfs_rename_ns() currently assumes that the target sysfs_dirent has
a copied name.  This has been okay because sysfs supports rename only
for directories which always have copied names; however, there's
nothing in kernfs interface which calls for such restriction and
currently invoking kernfs_rename_ns() on a regular file leads to oops
because it ends up trying to kfree() a static name.

This patch updates kernfs_rename_ns() so that it skips kfree() of the
old name if it's static.  This allows it to be used for all node
types.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/kernfs/dir.c