Revision f2513cde93f0957d5dc6c09bc24b0cccd27d8e1d authored by Peter Zijlstra on 06 June 2011, 10:32:43 UTC, committed by Ingo Molnar on 07 June 2011, 10:25:50 UTC
The main lock_is_held() user is lockdep_assert_held(), avoid false
assertions in lockdep_off() sections by unconditionally reporting the
lock is taken.

[ the reason this is important is a lockdep_assert_held() in ttwu()
  which triggers a warning under lockdep_off() as in printk() which
  can trigger another wakeup and lock up due to spinlock
  recursion, as reported and heroically debugged by Arne Jansen ]

Reported-and-tested-by: Arne Jansen <lists@die-jansens.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: <stable@kernel.org>
Link: http://lkml.kernel.org/r/1307398759.2497.966.camel@laptop
Signed-off-by: Ingo Molnar <mingo@elte.hu>
1 parent f339b9d
History
File Mode Size
9p
adfs
affs
afs
autofs4
befs
bfs
btrfs
cachefiles
ceph
cifs
coda
configfs
cramfs
debugfs
devpts
dlm
ecryptfs
efs
exofs
exportfs
ext2
ext3
ext4
fat
freevxfs
fscache
fuse
gfs2
hfs
hfsplus
hostfs
hpfs
hppfs
hugetlbfs
isofs
jbd
jbd2
jffs2
jfs
lockd
logfs
minix
ncpfs
nfs
nfs_common
nfsd
nilfs2
nls
notify
ntfs
ocfs2
omfs
openpromfs
partitions
proc
pstore
qnx4
quota
ramfs
reiserfs
romfs
squashfs
sysfs
sysv
ubifs
udf
ufs
xfs
Kconfig -rw-r--r-- 5.8 KB
Kconfig.binfmt -rw-r--r-- 6.4 KB
Makefile -rw-r--r-- 4.0 KB
aio.c -rw-r--r-- 45.9 KB
anon_inodes.c -rw-r--r-- 6.3 KB
attr.c -rw-r--r-- 6.6 KB
bad_inode.c -rw-r--r-- 7.8 KB
binfmt_aout.c -rw-r--r-- 12.4 KB
binfmt_elf.c -rw-r--r-- 53.7 KB
binfmt_elf_fdpic.c -rw-r--r-- 48.7 KB
binfmt_em86.c -rw-r--r-- 2.8 KB
binfmt_flat.c -rw-r--r-- 27.0 KB
binfmt_misc.c -rw-r--r-- 15.2 KB
binfmt_script.c -rw-r--r-- 2.8 KB
binfmt_som.c -rw-r--r-- 7.4 KB
bio-integrity.c -rw-r--r-- 21.2 KB
bio.c -rw-r--r-- 39.5 KB
block_dev.c -rw-r--r-- 40.0 KB
buffer.c -rw-r--r-- 87.4 KB
char_dev.c -rw-r--r-- 13.8 KB
compat.c -rw-r--r-- 51.1 KB
compat_binfmt_elf.c -rw-r--r-- 3.5 KB
compat_ioctl.c -rw-r--r-- 45.8 KB
dcache.c -rw-r--r-- 77.5 KB
dcookies.c -rw-r--r-- 6.8 KB
direct-io.c -rw-r--r-- 35.1 KB
drop_caches.c -rw-r--r-- 1.5 KB
eventfd.c -rw-r--r-- 11.0 KB
eventpoll.c -rw-r--r-- 43.8 KB
exec.c -rw-r--r-- 51.2 KB
fcntl.c -rw-r--r-- 18.7 KB
fhandle.c -rw-r--r-- 6.5 KB
fifo.c -rw-r--r-- 3.2 KB
file.c -rw-r--r-- 12.0 KB
file_table.c -rw-r--r-- 13.2 KB
filesystems.c -rw-r--r-- 6.4 KB
fs-writeback.c -rw-r--r-- 35.4 KB
fs_struct.c -rw-r--r-- 3.9 KB
generic_acl.c -rw-r--r-- 4.7 KB
inode.c -rw-r--r-- 44.1 KB
internal.h -rw-r--r-- 3.4 KB
ioctl.c -rw-r--r-- 15.7 KB
ioprio.c -rw-r--r-- 5.0 KB
libfs.c -rw-r--r-- 25.3 KB
locks.c -rw-r--r-- 58.3 KB
mbcache.c -rw-r--r-- 16.4 KB
mpage.c -rw-r--r-- 20.0 KB
namei.c -rw-r--r-- 81.0 KB
namespace.c -rw-r--r-- 65.0 KB
nfsctl.c -rw-r--r-- 2.1 KB
no-block.c -rw-r--r-- 688 bytes
open.c -rw-r--r-- 26.7 KB
pipe.c -rw-r--r-- 28.4 KB
pnode.c -rw-r--r-- 9.3 KB
pnode.h -rw-r--r-- 1.1 KB
posix_acl.c -rw-r--r-- 8.6 KB
read_write.c -rw-r--r-- 20.8 KB
read_write.h -rw-r--r-- 542 bytes
readdir.c -rw-r--r-- 6.9 KB
select.c -rw-r--r-- 24.2 KB
seq_file.c -rw-r--r-- 17.8 KB
signalfd.c -rw-r--r-- 7.5 KB
splice.c -rw-r--r-- 46.3 KB
stack.c -rw-r--r-- 2.7 KB
stat.c -rw-r--r-- 10.6 KB
statfs.c -rw-r--r-- 5.0 KB
super.c -rw-r--r-- 24.3 KB
sync.c -rw-r--r-- 10.2 KB
timerfd.c -rw-r--r-- 8.4 KB
utimes.c -rw-r--r-- 5.7 KB
xattr.c -rw-r--r-- 15.7 KB
xattr_acl.c -rw-r--r-- 2.3 KB

back to top