diff options
author | Tejun Heo <tj@kernel.org> | 2014-02-10 17:57:09 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-10 16:00:19 -0800 |
commit | 9561a8961c708ff6ba3e71a817af0f16bdc1d885 (patch) | |
tree | 6a9d3c7b3175c81dcc0a053569f1a3707bc0ddbb /fs/sync.c | |
parent | ba341d55a420ab4fdd1a53fd395fd59bd65de880 (diff) | |
download | linux-9561a8961c708ff6ba3e71a817af0f16bdc1d885.tar.bz2 |
kernfs: fix hash calculation in kernfs_rename_ns()
3eef34ad7dc3 ("kernfs: implement kernfs_get_parent(),
kernfs_name/path() and friends") restructured kernfs_rename_ns() such
that new name assignment happens under kernfs_rename_lock;
unfortunately, it mistakenly passed NULL to kernfs_name_hash() to
calculate the new hash if the name hasn't changed, which can lead to
oops.
Fix it by using kn->name and kn->ns when calculating the new hash.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Dan Carpenter dan.carpenter@oracle.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/sync.c')
0 files changed, 0 insertions, 0 deletions