diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-06-04 11:51:37 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-05 21:29:16 +0200 |
commit | 6d09bb627d2470299dfb1af0e6d27fb4aece9196 (patch) | |
tree | ce62b91f11c5df5fbee41aa053b33add79c2c37a /fs/eventpoll.c | |
parent | [PATCH] alpha: SMP IRQ routing fix (diff) | |
download | linux-6d09bb627d2470299dfb1af0e6d27fb4aece9196.tar.xz linux-6d09bb627d2470299dfb1af0e6d27fb4aece9196.zip |
[PATCH] fs/namei.c: Call to file_permission() under a spinlock in do_lookup_path()
From: Trond Myklebust <Trond.Myklebust@netapp.com>
We're presently running lock_kernel() under fs_lock via nfs's ->permission
handler. That's a ranking bug and sometimes a sleep-in-spinlock bug. This
problem was introduced in the openat() patchset.
We should not need to hold the current->fs->lock for a codepath that doesn't
use current->fs.
[vsu@altlinux.ru: fix error path]
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Al Viro <viro@ftp.linux.org.uk>
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/eventpoll.c')
0 files changed, 0 insertions, 0 deletions