Ed Cashin
7135a71b19
aoe: allocate unused request_queue for sysfs
...
Andy Whitcroft reported an oops in aoe triggered by use of an
incorrectly initialised request_queue object:
[ 2645.959090] kobject '<NULL>' (ffff880059ca22c0): tried to add
an uninitialized object, something is seriously wrong.
[ 2645.959104] Pid: 6, comm: events/0 Not tainted 2.6.31-5-generic #24-Ubuntu
[ 2645.959107] Call Trace:
[ 2645.959139] [<ffffffff8126ca2f>] kobject_add+0x5f/0x70
[ 2645.959151] [<ffffffff8125b4ab>] blk_register_queue+0x8b/0xf0
[ 2645.959155] [<ffffffff8126043f>] add_disk+0x8f/0x160
[ 2645.959161] [<ffffffffa01673c4>] aoeblk_gdalloc+0x164/0x1c0 [aoe]
The request queue of an aoe device is not used but can be allocated in
code that does not sleep.
Bruno bisected this regression down to
cd43e26f07
block: Expose stacked device queues in sysfs
"This seems to generate /sys/block/$device/queue and its contents for
everyone who is using queues, not just for those queues that have a
non-NULL queue->request_fn."
Addresses http://bugs.launchpad.net/bugs/410198
Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13942
Note that embedding a queue inside another object has always been
an illegal construct, since the queues are reference counted and
must persist until the last reference is dropped. So aoe was
always buggy in this respect (Jens).
Signed-off-by: Ed Cashin <ecashin@coraid.com>
Cc: Andy Whitcroft <apw@canonical.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Bruno Premont <bonbons@linux-vserver.org>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-09-09 14:10:18 +02:00
..
accessibility
acpi
ACPI: don't free non-existent backlight in acpi video module
2009-08-28 15:17:07 -04:00
amba
[ARM] amba: fix amba device resources
2009-07-05 22:39:08 +01:00
ata
ata_piix: parallel scanning on PATA needs an extra locking
2009-08-31 17:25:00 -10:00
atm
auxdisplay
base
PM / Driver Core: Kill dev_pm_ops platform warning for now
2009-08-10 23:41:18 +02:00
block
aoe: allocate unused request_queue for sysfs
2009-09-09 14:10:18 +02:00
bluetooth
headers: smp_lock.h redux
2009-07-12 12:22:34 -07:00
cdrom
char
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel
2009-09-07 11:38:30 -07:00
clocksource
sh: CMT suspend/resume
2009-08-15 12:58:45 +09:00
connector
connector: maintainer/mail update.
2009-07-21 12:43:51 -07:00
cpufreq
[CPUFREQ] Re-enable cpufreq suspend and resume code
2009-09-01 12:45:08 -04:00
cpuidle
crypto
dca
dio
dma
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
2009-07-30 16:46:31 -07:00
edac
amd64_edac: print debug statements only on error
2009-08-04 12:10:06 +02:00
eisa
firewire
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6
2009-09-05 14:59:00 -07:00
firmware
gpio
headers: smp_lock.h redux
2009-07-12 12:22:34 -07:00
gpu
i915: disable interrupts before tearing down GEM state
2009-09-08 17:09:24 -07:00
hid
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
2009-07-22 09:30:07 -07:00
hwmon
hwmon: (asus_atk0110) Fix upper limit readings
2009-07-28 16:31:39 +02:00
i2c
i2c-stu300: I2C STU300 stability updates
2009-08-20 22:27:58 +01:00
ide
pcmcia: add CNF-CDROM-ID for ide
2009-08-14 13:09:32 -07:00
idle
ieee1394
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6
2009-07-06 14:03:44 -07:00
ieee802154
infiniband
Merge branches 'ehca', 'misc', 'mlx4', 'mthca' and 'nes' into for-linus
2009-06-23 10:38:47 -07:00
input
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2009-09-05 13:41:29 -07:00
isdn
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2009-08-04 15:38:34 -07:00
leds
leds: after setting inverted attribute, we must update the LED
2009-08-26 20:06:53 -07:00
lguest
lguest and virtio: cleanup struct definitions to Linux style.
2009-07-30 16:03:46 +09:30
macintosh
m68k: count can reach 51, not 50
2009-08-26 23:14:49 +02:00
mca
md
dm snapshot: fix on disk chunk size validation
2009-09-04 20:40:43 +01:00
media
V4L/DVB (12502): gspca - sn9c20x: Fix gscpa sn9c20x build errors.
2009-08-31 02:24:54 -03:00
memstick
message
fusion: mptsas, fix lock imbalance
2009-06-22 08:54:14 -05:00
mfd
mfd: twl4030 irq fixes
2009-08-04 20:31:32 +02:00
misc
cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG
2009-07-31 12:28:46 +02:00
mmc
drivers/mmc: correct error-handling code
2009-08-07 10:39:56 -07:00
mtd
mtd: nftl: fix offset alignments
2009-09-03 14:59:16 +01:00
net
gianfar: Fix build.
2009-09-06 01:41:24 -07:00
nubus
of
of/mdio: Add support function for Ethernet fixed-link property
2009-07-22 09:27:18 -07:00
oprofile
oprofile: reset bt_lost_no_mapping with other stats
2009-07-10 12:35:36 +02:00
parisc
parisc: hppb.c - fix printk format strings
2009-08-02 15:42:39 +02:00
parport
parport/serial: add support for NetMos 9901 Multi-IO card
2009-06-30 18:55:59 -07:00
pci
PCI SR-IOV: correct broken resource alignment calculations
2009-08-30 08:37:25 -07:00
pcmcia
Remove multiple KERN_ prefixes from printk formats
2009-07-08 10:30:03 -07:00
platform
toshiba_acpi: return on a fail path
2009-08-28 15:17:07 -04:00
pnp
Merge branches 'acerhdf', 'acpi-pci-bind', 'bjorn-pci-root', 'bugzilla-12904', 'bugzilla-13121', 'bugzilla-13396', 'bugzilla-13533', 'bugzilla-13612', 'c3_lock', 'hid-cleanups', 'misc-2.6.31', 'pdc-leak-fix', 'pnpacpi', 'power_nocheck', 'thinkpad_acpi', 'video' and 'wmi' into release
2009-06-24 01:19:50 -04:00
power
Merge git://git.infradead.org/users/cbou/battery-2.6.31
2009-07-30 16:45:53 -07:00
pps
pps: fix incorrect verdict check
2009-08-26 20:06:52 -07:00
ps3
rapidio
regulator
rtc
rtc: mark if rtc-cmos drivers were successfully registered
2009-07-29 19:10:35 -07:00
s390
[S390] drivers/s390: put NULL test before dereference
2009-08-23 18:10:00 +02:00
sbus
sparc: Fix cleanup crash in bbc_envctrl_cleanup()
2009-07-17 10:28:19 -07:00
scsi
[SCSI] mpt2sas: fix config request and diag reset deadlock
2009-08-14 09:16:05 -05:00
serial
ARM: S3C64XX: serial: Fix a typo in Kconfig
2009-08-14 00:43:46 +01:00
sh
sn
spi
spi_s3c24xx: fix transfer setup code
2009-08-18 16:31:13 -07:00
ssb
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2009-07-09 20:33:18 -07:00
staging
Staging: rspiusb: Fix buffer overflow
2009-08-07 16:12:03 -07:00
tc
telephony
headers: smp_lock.h redux
2009-07-12 12:22:34 -07:00
thermal
thermal_sys: check get_temp return value
2009-08-26 20:06:52 -07:00
uio
usb
USB: fix oops on disconnect in cdc-acm
2009-08-07 16:05:14 -07:00
uwb
video
xenfb: connect to backend before registering fb
2009-08-27 12:31:18 -07:00
virtio
virtio: refactor find_vqs
2009-07-30 16:03:45 +09:30
vlynq
vlynq: fix typo in Kconfig to enable debugging
2009-07-06 13:57:03 -07:00
w1
drivers/w1/masters/omap_hdq.c: fix missing mutex unlock
2009-08-07 10:39:55 -07:00
watchdog
[WATCHDOG] ar7_wdt: fix path to ar7-specific headers
2009-08-15 13:05:01 +00:00
xen
xen: Use kcalloc() in xen_init_IRQ()
2009-07-01 11:19:47 +02:00
zorro
Kconfig
Makefile