Borislav Petkov
88d84ac973
EDAC: Fix lockdep splat
Fix the following:
BUG: key ffff88043bdd0330 not in .data!
------------[ cut here ]------------
WARNING: at kernel/lockdep.c:2987 lockdep_init_map+0x565/0x5a0()
DEBUG_LOCKS_WARN_ON(1)
Modules linked in: glue_helper sb_edac(+) edac_core snd acpi_cpufreq lrw gf128mul ablk_helper iTCO_wdt evdev i2c_i801 dcdbas button cryptd pcspkr iTCO_vendor_support usb_common lpc_ich mfd_core soundcore mperf processor microcode
CPU: 2 PID: 599 Comm: modprobe Not tainted 3.10.0 #1
Hardware name: Dell Inc. Precision T3600/0PTTT9, BIOS A08 01/24/2013
0000000000000009 ffff880439a1d920 ffffffff8160a9a9 ffff880439a1d958
ffffffff8103d9e0 ffff88043af4a510 ffffffff81a16e11 0000000000000000
ffff88043bdd0330 0000000000000000 ffff880439a1d9b8 ffffffff8103dacc
Call Trace:
dump_stack
warn_slowpath_common
warn_slowpath_fmt
lockdep_init_map
? trace_hardirqs_on_caller
? trace_hardirqs_on
debug_mutex_init
__mutex_init
bus_register
edac_create_sysfs_mci_device
edac_mc_add_mc
sbridge_probe
pci_device_probe
driver_probe_device
__driver_attach
? driver_probe_device
bus_for_each_dev
driver_attach
bus_add_driver
driver_register
__pci_register_driver
? 0xffffffffa0010fff
sbridge_init
? 0xffffffffa0010fff
do_one_initcall
load_module
? unset_module_init_ro_nx
SyS_init_module
tracesys
---[ end trace d24a70b0d3ddf733 ]---
EDAC MC0: Giving out device to 'sbridge_edac.c' 'Sandy Bridge Socket#0': DEV 0000:3f:0e.0
EDAC sbridge: Driver loaded.
What happens is that bus_register needs a statically allocated lock_key
because the last is handed in to lockdep. However, struct mem_ctl_info
embeds struct bus_type (the whole struct, not a pointer to it) and the
whole thing gets dynamically allocated.
Fix this by using a statically allocated struct bus_type for the MC bus.
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Markus Trippelsdorf <markus@trippelsdorf.de>
Cc: stable@kernel.org # v3.10
Signed-off-by: Tony Luck <tony.luck@intel.com>
|
2013-07-23 16:01:28 -07:00 |
| .. |
|
amd64_edac.c
|
amd64_edac: Add Family 16h support
|
2013-04-19 12:46:50 +02:00 |
|
amd64_edac.h
|
amd64_edac: Add Family 16h support
|
2013-04-19 12:46:50 +02:00 |
|
amd64_edac_dbg.c
|
|
|
|
amd64_edac_inj.c
|
EDAC: Replace strict_strtoul() with kstrtoul()
|
2013-06-08 10:16:33 +02:00 |
|
amd76x_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
amd8111_edac.c
|
|
|
|
amd8111_edac.h
|
|
|
|
amd8131_edac.c
|
|
|
|
amd8131_edac.h
|
|
|
|
cell_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
cpc925_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
e7xxx_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
e752x_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
edac_core.h
|
edac: add support for raw error reports
|
2013-02-21 14:16:03 -03:00 |
|
edac_device.c
|
Merge branch 'devel'
|
2012-07-29 21:11:05 -03:00 |
|
edac_device_sysfs.c
|
|
|
|
edac_mc.c
|
EDAC: Fix lockdep splat
|
2013-07-23 16:01:28 -07:00 |
|
edac_mc_sysfs.c
|
EDAC: Fix lockdep splat
|
2013-07-23 16:01:28 -07:00 |
|
edac_module.c
|
edac: initialize the core earlier
|
2013-02-21 11:06:36 -03:00 |
|
edac_module.h
|
edac: create top-level debugfs directory
|
2012-06-12 12:15:49 -03:00 |
|
edac_pci.c
|
EDAC: Respect operational state in edac_pci.c
|
2012-11-28 11:22:47 +01:00 |
|
edac_pci_sysfs.c
|
Linux 3.8-rc7
|
2013-02-20 15:45:52 -03:00 |
|
edac_stub.c
|
EDAC: Change Boris' email address
|
2012-10-30 10:05:51 +01:00 |
|
ghes_edac.c
|
ghes_edac: fix to use list_for_each_entry_safe() when delete list items
|
2013-02-26 10:05:35 -03:00 |
|
highbank_l2_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
highbank_mc_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
i7core_edac.c
|
EDAC: Replace strict_strtoul() with kstrtoul()
|
2013-06-08 10:16:33 +02:00 |
|
i3000_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
i3200_edac.c
|
i3200_edac: Fix the logic that detects filled memories
|
2013-02-21 11:06:31 -03:00 |
|
i5000_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
i5100_edac.c
|
EDAC: Fix lockdep splat
|
2013-07-23 16:01:28 -07:00 |
|
i5400_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
i7300_edac.c
|
i7300_edac: Fix memory detection in single mode
|
2013-04-29 10:32:39 -03:00 |
|
i82443bxgx_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
i82860_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
i82875p_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
i82975x_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
Kconfig
|
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
|
2013-07-13 14:52:21 -07:00 |
|
Makefile
|
ghes_edac: Register at EDAC core the BIOS report
|
2013-02-25 19:42:12 -03:00 |
|
mce_amd.c
|
EDAC, MCE, AMD: Add an MCE signature for new Fam15h models
|
2013-06-08 10:17:03 +02:00 |
|
mce_amd.h
|
EDAC, MCE, AMD: Remove unneeded exports
|
2013-01-22 22:40:03 +01:00 |
|
mce_amd_inj.c
|
EDAC: Replace strict_strtoul() with kstrtoul()
|
2013-06-08 10:16:33 +02:00 |
|
mpc85xx_edac.c
|
mpc85xx_edac: Fix typo
|
2013-02-10 13:28:41 +01:00 |
|
mpc85xx_edac.h
|
|
|
|
mv64x60_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
mv64x60_edac.h
|
|
|
|
octeon_edac-l2c.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
octeon_edac-lmc.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
octeon_edac-pc.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
octeon_edac-pci.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
pasemi_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
ppc4xx_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
ppc4xx_edac.h
|
|
|
|
r82600_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
sb_edac.c
|
edac: sb_edac.c should not require prescence of IMC_DDRIO device
|
2013-04-29 10:32:40 -03:00 |
|
tile_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |
|
x38_edac.c
|
Drivers: edac: remove __dev* attributes.
|
2013-01-03 15:57:03 -08:00 |