android_kernel_xiaomi_sm8350/drivers
NeilBrown 177a99b23e md: fix use-after-free bug when dropping an rdev from an md array
Due to possible deadlock issues we need to use a schedule work to kobject_del
an 'rdev' object from a different thread.

A recent change means that kobject_add no longer gets a refernce, and
kobject_del doesn't put a reference.  Consequently, we need to explicitly hold
a reference to ensure that the last reference isn't dropped before the
scheduled work get a chance to call kobject_del.

Also, rename delayed_delete to md_delayed_delete to that it is more obvious in
a stack trace which code is to blame.

Cc: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-06 10:41:19 -08:00
..
acorn/char
acpi latency.c: use QoS infrastructure 2008-02-05 09:44:22 -08:00
amba
ata iommu sg merging: sata_inic162x: use pci_set_dma_max_seg_size 2008-02-05 09:44:11 -08:00
atm
auxdisplay
base register_cpu __devinit or __cpuinit 2008-02-06 10:41:01 -08:00
block Atari floppy: Rename disk_type to atari_disk_type 2008-02-06 10:41:10 -08:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-02-05 10:09:07 -08:00
cdrom drivers/cdrom/cdrom.c: simplify logic in cdrom_release() 2008-02-06 10:41:10 -08:00
char ip27-rtc: convert ioctl to unlocked_ioctl 2008-02-06 10:41:14 -08:00
clocksource
connector
cpufreq
cpuidle pm qos infrastructure and interface 2008-02-05 09:44:22 -08:00
crypto
dca
dio dio: ARRAY_SIZE() cleanup 2008-02-05 09:44:23 -08:00
dma
edac drivers/edac/: Spelling fixes 2008-02-03 17:12:34 +02:00
eisa
firewire
firmware dcdbas: add DMI-based module autloading 2008-02-06 10:41:01 -08:00
gpio gpio: handle pca953{4,5,6,7,8} too 2008-02-06 10:41:15 -08:00
hid
hwmon
i2c deprecate obsolete pca9539 driver 2008-02-05 09:44:13 -08:00
ide cleanup after APUS removal 2008-02-06 10:41:01 -08:00
ieee1394
infiniband RDMA/nes: Add a driver for NetEffect RNICs 2008-02-04 20:20:45 -08:00
input Remove pointless casts from void pointers 2008-02-06 10:41:01 -08:00
isdn drivers/isdn/hardware/eicon/debug.c: fix uninitialized var warning 2008-02-06 10:41:12 -08:00
leds leds: add possibility to remove leds classdevs during suspend/resume 2008-02-05 09:44:23 -08:00
lguest virtio: reset function 2008-02-04 23:50:03 +11:00
macintosh ppc: fix #ifdef-s in mediabay driver (take 2) 2008-02-06 02:57:50 +01:00
mca
md md: fix use-after-free bug when dropping an rdev from an md array 2008-02-06 10:41:19 -08:00
media scheduled OSS driver removal 2008-02-06 10:41:02 -08:00
message drivers/message/: Spelling fixes 2008-02-03 17:21:01 +02:00
mfd
misc phantom: don't grab other devices 2008-02-06 10:41:10 -08:00
mmc
mtd Claim maintainership for block2mtd and update email addresses 2008-02-06 10:41:09 -08:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-02-05 10:09:07 -08:00
nubus nubus: kill drivers/nubus/nubus_syms.c 2008-02-05 09:44:23 -08:00
of
oprofile
parisc iommu sg merging: parisc: make iommu respect the segment size limits 2008-02-05 09:44:10 -08:00
parport parport_pc: detection for SuperIO IT87XX POST 2008-02-06 10:41:08 -08:00
pci Genericizing iova.[ch] 2008-02-06 10:41:01 -08:00
pcmcia drivers/pcmcia: add missing pci_dev_get 2008-02-05 09:44:09 -08:00
pnp
power
ps3 ps3: use symbolic names for video modes 2008-02-06 10:41:17 -08:00
rapidio
rtc rtc: at91sam9 RTC support (RTT and/or RTC) 2008-02-06 10:41:14 -08:00
s390 calibrate_delay() must be __cpuinit 2008-02-06 10:41:08 -08:00
sbus
scsi cleanup after APUS removal 2008-02-06 10:41:01 -08:00
serial SC26XX: New serial driver for SC2681 uarts 2008-02-06 10:41:06 -08:00
sh
sn
spi spi: remove more dev->power.power_state usage 2008-02-06 10:41:11 -08:00
ssb drivers/ssb/: Spelling fixes 2008-02-03 17:30:25 +02:00
tc
telephony
uio uio: nopage 2008-02-06 10:41:07 -08:00
usb
video fbcon: fix color generation for monochrome framebuffer 2008-02-06 10:41:18 -08:00
virtio virtio: balloon driver 2008-02-04 23:50:13 +11:00
w1 w1-gpio: add GPIO w1 bus master driver 2008-02-06 10:41:15 -08:00
watchdog drivers/watchdog/: Spelling fixes 2008-02-03 17:32:52 +02:00
xen
zorro
Kconfig gpiolib: add drivers/gpio directory 2008-02-05 09:44:12 -08:00
Makefile gpiolib: add drivers/gpio directory 2008-02-05 09:44:12 -08:00