kernel-ark/include/linux
Johannes Berg eb13ba8738 lockdep: fix workqueue creation API lockdep interaction
Dave Young reported warnings from lockdep that the workqueue API
can sometimes try to register lockdep classes with the same key
but different names. This is not permitted in lockdep.

Unfortunately, I was unaware of that restriction when I wrote
the code to debug workqueue problems with lockdep and used the
workqueue name as the lockdep class name. This can obviously
lead to the problem if the workqueue name is dynamic.

This patch solves the problem by always using a constant name
for the workqueue's lockdep class, namely either the constant
name that was passed in or a string consisting of the variable
name.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
2008-01-16 09:51:58 +01:00
..
amba
byteorder
dvb
hdlc
isdn
lockd
mlx4
mmc mmc: remove unused 'mode' from the mmc_host structure 2007-12-12 20:01:01 +01:00
mtd
netfilter [NETFILTER]: Sort matches/targets in Kbuild file 2007-11-07 04:08:21 -08:00
netfilter_arp
netfilter_bridge
netfilter_ipv4 [NETFILTER]: Sort matches/targets in Kbuild file 2007-11-07 04:08:21 -08:00
netfilter_ipv6 [NETFILTER]: Sort matches/targets in Kbuild file 2007-11-07 04:08:21 -08:00
nfsd
raid
rtc
spi
ssb
sunrpc SUNRPC: make sunrpc/xprtsock.c:xs_setup_{udp,tcp}() static 2007-11-26 16:24:50 -05:00
tc_act [NET] tc_nat: header install 2007-12-26 19:36:35 -08:00
tc_ematch
usb
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi_pmtmr.h
acpi.h ACPI: fix two IRQ8 issues in IOAPIC mode 2007-11-20 01:16:29 -05:00
adb.h
adfs_fs_i.h
adfs_fs_sb.h
adfs_fs.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio_abi.h
aio.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm_bios.h apm_event{,info}_t are userspace types 2007-12-17 19:28:16 -08:00
apm-emulation.h
arcdevice.h
arcfb.h
async_tx.h
ata.h libata: correct handling of TSS DVD 2008-01-15 16:35:21 -05:00
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel_pdc.h
atmel-ssc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h
auto_fs4.h
auto_fs.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h Add UNPLUG traces to all appropriate places 2007-11-09 13:41:32 +01:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bootmem.h
bottom_half.h
bpqether.h
bsg.h
buffer_head.h
bug.h
cache.h
calc64.h
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup_subsys.h sched: cpu accounting controller (V2) 2007-12-02 20:04:49 +01:00
cgroup.h
cgroupstats.h
chio.h
circ_buf.h
clk.h
clockchips.h
clocksource.h
cm4000_cs.h
cn_proc.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h
coda.h
coff.h
com20020.h
compat.h
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
const.h
cpu.h CPU hotplug: fix cpu_is_offline() on !CONFIG_HOTPLUG_CPU 2008-01-06 12:39:42 -08:00
cpufreq.h
cpuidle.h cpuidle: fix HP nx6125 regression 2007-11-19 21:43:22 -05:00
cpumask.h CPU hotplug: fix cpu_is_offline() on !CONFIG_HOTPLUG_CPU 2008-01-06 12:39:42 -08:00
cpuset.h
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h
crc7.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crypto.h
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dca.h
dcache.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
delay.h
delayacct.h
device-mapper.h dm: merge max_hw_sector 2007-12-20 17:32:12 +00:00
device.h Revert "Driver core: remove class_device_*_bin_file" 2007-10-31 12:51:29 -07:00
devpts_fs.h
dio.h
dirent.h
display.h
dlm_device.h
dlm_netlink.h
dlm.h
dm9000.h
dm-ioctl.h
dma-mapping.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h
ds1286.h
ds17287rtc.h
dtlk.h
edac.h
edd.h
eeprom_93cx6.h
efi.h
efs_dir.h
efs_fs_i.h
efs_fs_sb.h
efs_fs.h
efs_vh.h
eisa.h
elevator.h block: let elv_register() return void 2007-12-18 08:29:28 +01:00
elf-em.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
eventfd.h
eventpoll.h
exportfs.h
ext2_fs_sb.h
ext2_fs.h fix up ext2_fs.h for userspace after reservations backport 2007-11-29 09:24:53 -08:00
ext3_fs_i.h
ext3_fs_sb.h
ext3_fs.h Fix 64KB blocksize in ext3 directories 2007-11-14 18:45:43 -08:00
ext3_jbd.h
ext4_fs_extents.h
ext4_fs_i.h
ext4_fs_sb.h
ext4_fs.h
ext4_jbd2.h
f75375s.h hwmon: (f75375s) Allow setting up fans with platform_data 2007-11-08 08:42:46 -05:00
fadvise.h
falloc.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd1772.h
fd.h
fddidevice.h
fdreg.h
fib_rules.h
file.h
filter.h
firewire-cdev.h
firewire-constants.h
firmware.h
flat.h
font.h
freezer.h
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h
fsl_devices.h
fsnotify.h
fuse.h fuse: pass open flags to read and write 2007-11-29 09:24:54 -08:00
futex.h kernel/futex.c: make 3 functions static 2007-11-05 21:53:46 +11:00
gameport.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
getcpu.h
gfp.h
gfs2_ondisk.h
gigaset_dev.h
gpio_keys.h
gpio_mouse.h
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hid-debug.h
hid.h
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htirq.h
hugetlb.h Revert "hugetlb: Add hugetlb_dynamic_pool sysctl" 2007-12-17 19:28:17 -08:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-dev.h
i2c-gpio.h
i2c-id.h i2c: Driver IDs are optional 2008-01-14 21:53:31 +01:00
i2c-ocores.h
i2c-pnx.h
i2c-pxa.h
i2c.h i2c: Make i2c_check_addr static 2007-11-15 19:24:02 +01:00
i2o-dev.h
i2o.h
i8k.h
i8042.h
ibmtr.h
icmp.h
icmpv6.h
ide.h ide: DMA reporting and validity checking fixes (take 3) 2007-12-12 23:31:58 +01:00
idr.h
ieee80211.h
if_addr.h
if_arcnet.h
if_arp.h
if_bonding.h bonding: Add new layer2+3 hash for xor/802.3ad modes 2007-12-07 15:00:32 -05:00
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_macvlan.h
if_packet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_shaper.h
if_slip.h
if_strip.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h
if_wanpipe.h
if.h
igmp.h
in6.h
in_route.h
in.h
inet_diag.h
inet_lro.h [LRO]: fix lro_gen_skb() alignment 2007-12-05 05:37:32 -08:00
inet.h
inetdevice.h
init_task.h
init.h
initrd.h
inotify.h
input-polldev.h
input.h Input: adds the context menu key (HUT GenDesc 0x84) 2007-11-27 00:47:04 -05:00
interrupt.h
io.h
ioc3.h
ioc4.h
ioctl.h
ioport.h
ioprio.h
ip6_tunnel.h
ip.h
ipc.h
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h
ipx.h
irda.h
irq_cpustat.h
irq.h genirq: add unlocked version of set_irq_handler() 2007-12-18 18:05:58 +01:00
irqflags.h
irqreturn.h
isa.h
isapnp.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd2.h
jbd.h jbd: Fix assertion failure in fs/jbd/checkpoint.c 2007-12-05 09:21:20 -08:00
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h Missing include file in kallsyms.h 2007-11-05 15:12:32 -08:00
kbd_diacr.h
kbd_kern.h
Kbuild [VETH]: move veth.h to include/linux 2007-12-26 19:36:35 -08:00
kd.h Fix <linux/kd.h> usage in userspace 2007-11-29 09:24:52 -08:00
kdebug.h
kdev_t.h
kernel_stat.h
kernel.h
kernelcapi.h
kexec.h
key-type.h
key-ui.h
key.h KEYS: fix macro 2008-01-08 16:10:35 -08:00
keyboard.h
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject.h
kprobes.h
kref.h
ks0108.h
kthread.h
ktime.h
kvm_para.h
kvm.h
lapb.h
latency.h
lcd.h
leds.h leds: Fix led trigger locking bugs 2007-12-07 09:06:53 +00:00
lguest_launcher.h
lguest.h
libata.h libata: fix ATAPI draining 2007-12-17 20:43:28 -05:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
list.h
llc.h
lm_interface.h
lock_dlm_plock.h
lockdep.h
log2.h
loop.h
lp.h
lzo.h
m41t00.h
m48t86.h
magic.h
major.h
maple.h
marker.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h rtc: fall back to requesting only the ports we actually use 2007-11-14 18:45:41 -08:00
mca-legacy.h
mca.h
mdio-bitbang.h
memory_hotplug.h
memory.h
mempolicy.h
mempool.h
meye.h
migrate.h
mii.h
minix_fs.h
miscdevice.h
mm_inline.h
mm_types.h
mm.h Security: round mmap hint address above mmap_min_addr 2007-12-06 00:25:10 +11:00
mman.h
mmtimer.h
mmzone.h
mnt_namespace.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h [IPV4]: Clean the ip_sockglue.c from some ugly ifdefs 2007-11-07 04:08:55 -08:00
msdos_fs.h
msg.h
msi.h
mtio.h
mutex-debug.h
mutex.h
mv643xx_eth.h
mv643xx.h
n_r3964.h
namei.h
nbd.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
neighbour.h
net.h [NET]: Add the helper kernel_sock_shutdown() 2007-11-12 18:10:39 -08:00
netdevice.h [NET]: Add NAPI_STATE_DISABLE. 2008-01-08 23:30:07 -08:00
netfilter_arp.h
netfilter_bridge.h [NETFILTER]: bridge: fix missing link layer headers on outgoing routed packets 2007-12-14 13:54:39 -08:00
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink.h [NETLINK]: Fix unicast timeouts 2007-11-07 04:15:12 -08:00
netpoll.h
netrom.h
nfs2.h
nfs3.h
nfs4_acl.h
nfs4_mount.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h NFS: make nfs_wb_page_priority() static 2007-11-26 16:24:48 -05:00
nfs_idmap.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfs.h
nfsacl.h
nfsd_idmap.h
nl80211.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvram.h
of_device.h
of_platform.h
of.h
oom.h
oprofile.h
page-flags.h
page-isolation.h
pageblock-flags.h
pagemap.h
pagevec.h
param.h
parport_pc.h
parport.h
parser.h
pata_platform.h
patchkey.h
pci_hotplug.h
pci_ids.h ACPI: apply quirk_ich6_lpc_acpi to more ICH8 and ICH9 2008-01-11 00:24:55 -05:00
pci_regs.h
pci-acpi.h
pci.h PCI: Add Kconfig option to disable deprecated pci_find_* API 2007-11-05 13:35:17 -08:00
pcieport_if.h
pda_power.h
percpu_counter.h
percpu.h
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phy_fixed.h
phy.h PHY: Add the phy_device_release device method. 2007-12-04 15:06:33 -05:00
pid_namespace.h pidns: Place under CONFIG_EXPERIMENTAL 2007-11-14 18:45:43 -08:00
pid.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
plist.h
pm_legacy.h PM: ACPI and APM must not be enabled at the same time 2008-01-11 12:26:47 -05:00
pm.h PM: ACPI and APM must not be enabled at the same time 2008-01-11 12:26:47 -05:00
pmu.h
pnp.h increase PNP_MAX_PORT to 40 from 24 2007-12-27 23:55:13 -05:00
pnpbios.h
poison.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
posix-timers.h
power_supply.h
ppdev.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
prctl.h
preempt.h
prefetch.h
prio_heap.h
prio_tree.h
proc_fs.h proc: fix proc_dir_entry refcounting 2007-12-05 09:21:20 -08:00
profile.h
proportions.h
ps2esdi.h
ptrace.h restrict reading from /proc/<pid>/maps to those who share ->mm or can ptrace pid 2008-01-02 13:13:27 -08:00
qnx4_fs.h
qnxtypes.h
quicklist.h quicklists: do not release off node pages early 2007-12-23 12:54:36 -08:00
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h
reboot.h
reciprocal_div.h
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_fs.h
reiserfs_xattr.h
relay.h
resource.h
resume-trace.h
rfkill.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc-v3020.h
rtc.h RTC: convert mutex to bitfield 2007-11-29 09:24:54 -08:00
rtmutex.h
rtnetlink.h [IPV6]: Add ifindex field to ND user option messages. 2007-11-12 17:58:35 -08:00
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h Don't blatt first element of prv in sg_chain() 2008-01-11 10:12:55 +01:00
scc.h
sched.h remove task_ppid_nr_ns 2008-01-13 09:56:43 -08:00
screen_info.h x86_64 EFI boot support: EFI frame buffer driver 2007-11-29 09:24:54 -08:00
sctp.h
scx200_gpio.h
scx200.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux_netlink.h
selinux.h SELinux: return EOPNOTSUPP not ENOTSUPP 2007-11-17 10:38:16 +11:00
sem.h
seq_file.h
seqlock.h
serial167.h
serial_8250.h
serial_core.h IP22ZILOG: fix lockup and sysrq 2007-11-29 09:24:53 -08:00
serial_pnx8xxx.h
serial_reg.h
serial.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
signalfd.h
skbuff.h [SKBUFF]: Free old skb properly in skb_morph 2007-11-26 23:11:19 +08:00
slab_def.h Unify /proc/slabinfo configuration 2008-01-02 13:04:48 -08:00
slab.h Unify /proc/slabinfo configuration 2008-01-02 13:04:48 -08:00
slob_def.h
slub_def.h Unify /proc/slabinfo configuration 2008-01-02 13:04:48 -08:00
sm501-regs.h
sm501.h
smb_fs_i.h
smb_fs_sb.h
smb_fs.h
smb_mount.h
smb.h
smbno.h
smp_lock.h
smp.h KVM: fix !SMP build error 2007-11-09 22:39:38 +01:00
snmp.h
socket.h
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
splice.h
srcu.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h [TIPC]: Fix headercheck wrt. tipc_config.h 2007-10-30 21:44:00 -07:00
stringify.h
superhyway.h
suspend.h
svga.h
swap.h
swapops.h
synclink.h
sys.h
syscalls.h
sysctl.h [S390] appldata: remove unused binary sysctls. 2007-11-20 11:13:45 +01:00
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
task_io_accounting_ops.h
task_io_accounting.h
taskstats_kern.h
taskstats.h
tc.h
tcp.h
telephony.h
termios.h
textsearch_fsm.h
textsearch.h
tfrc.h
thread_info.h futex: fix for futex_wait signal stack corruption 2007-12-05 15:46:09 +01:00
threads.h
tick.h
tifm.h
time.h
timer.h
timerfd.h
times.h
timex.h time: add ADJ_OFFSET_SS_READ 2007-11-26 20:42:19 +01:00
tiocl.h
tipc_config.h
tipc.h
topology.h
toshiba.h
transport_class.h
trdevice.h
tsacct_kern.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h pl2303: Fix mode switching regression 2008-01-08 16:16:34 -08:00
types.h
uaccess.h
udf_fs_i.h
udf_fs_sb.h
udf_fs.h
udp.h
ufs_fs.h
uinput.h
uio_driver.h
uio.h
ultrasound.h
un.h
unistd.h
unwind.h
usb_usual.h usb-storage: Fix devices that cannot handle 32k transfers 2007-12-17 10:47:14 -08:00
usb.h usb.h: fix kernel-doc warning 2007-12-17 10:47:15 -08:00
usbdevice_fs.h USB: Fix signr comment in usbdevice_fs.h 2007-11-28 13:58:34 -08:00
user_namespace.h
user.h
utime.h
uts.h
utsname.h
vermagic.h
veth.h [VETH]: move veth.h to include/linux 2007-12-26 19:36:35 -08:00
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev2.h
videodev.h
videotext.h
virtio_9p.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_net.h
virtio_ring.h virtio: Force use of power-of-two for descriptor ring sizes 2007-11-12 13:59:40 +11:00
virtio.h
vmalloc.h
vmstat.h
vt_buffer.h
vt_kern.h
vt.h
wait.h
wanrouter.h
watchdog.h
wireless.h
workqueue.h lockdep: fix workqueue creation API lockdep interaction 2008-01-16 09:51:58 +01:00
writeback.h Revert "writeback: introduce writeback_control.more_io to indicate more io" 2008-01-14 21:21:29 -08:00
x25.h
xattr.h
xfrm.h
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro_ids.h
zorro.h
zutil.h