cpuset: fix cpuset_print_task_mems_allowed() vs rename() race
authorLi Zefan <lizefan@huawei.com>
Fri, 25 Jan 2013 08:08:01 +0000 (16:08 +0800)
committerTejun Heo <tj@kernel.org>
Mon, 18 Feb 2013 17:08:15 +0000 (09:08 -0800)
commit63f43f55c9bbc14f76b582644019b8a07dc8219a
treec9ab6bbf633b6d441c67c3735782b6011afc5b17
parent71b5707e119653039e6e95213f00479668c79b75
cpuset: fix cpuset_print_task_mems_allowed() vs rename() race

rename() will change dentry->d_name. The result of this race can
be worse than seeing partially rewritten name, but we might access
a stale pointer because rename() will re-allocate memory to hold
a longer name.

It's safe in the protection of dentry->d_lock.

v2: check NULL dentry before acquiring dentry lock.

Signed-off-by: Li Zefan <lizefan@huawei.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: stable@vger.kernel.org
kernel/cpuset.c