linux/drivers
NeilBrown 27c529bb8e md: lock access to rdev attributes properly
When we access attributes of an rdev (component device on an md array) through
sysfs, we really need to lock the array against concurrent changes.  We
currently do that when we change an attribute, but not when we read an
attribute.  We need to lock when reading as well else rdev->mddev could become
NULL while we are accessing it.

So add appropriate locking (mddev_lock) to rdev_attr_show.

rdev_size_store requires some extra care as well as it needs to unlock the
mddev while scanning other mddevs for overlapping regions.  We currently
assume that rdev->mddev will still be unchanged after the scan, but that
cannot be certain.  So take a copy of rdev->mddev for use at the end of the
function.

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-03-04 16:35:18 -08:00
..
acorn/char Fix default compose table initialization 2008-03-03 14:53:16 -08:00
acpi Merge branches 'release', 'bugzilla-9916', 'bugzilla-9982', 'bugzilla-9989', 'misc', 'suspend', 'thermal', 'thinkpad' and 'tsc' into release 2008-02-21 02:41:58 -05:00
amba
ata block: separate out padding from alignment 2008-03-04 11:18:17 +01:00
atm
auxdisplay
base docbook: fix kernel-api source files 2008-03-03 10:47:14 -08:00
block pktcdvd: reduce stack consumption 2008-03-04 16:35:12 -08:00
bluetooth hci_ldisc: fix null pointer deref 2008-02-12 17:54:16 -08:00
cdrom make cdrom.c:check_for_audio_disc() static 2008-03-04 11:28:41 +01:00
char drivers/char/isicom.c: correct use of ! and & 2008-03-04 16:35:15 -08:00
clocksource
connector CONNECTOR: make cn_already_initialized static 2008-02-26 18:42:44 -08:00
cpufreq cpufreq: fix kobject reference count handling 2008-02-21 15:27:06 -08:00
cpuidle ACPI, cpuidle: Clarify C-state description in sysfs 2008-02-14 00:09:55 -05:00
crypto [HIFN]: Fix invalid config ifdefs for RNG support 2008-02-15 19:15:05 +08:00
dca DCA: convert struct class_device to struct device. 2008-02-08 15:33:33 -08:00
dio dio: ARRAY_SIZE() cleanup 2008-02-05 09:44:23 -08:00
dma ioat: fix 'ack' handling, driver must ensure that 'ack' is zero 2008-03-04 10:16:46 -07:00
edac drivers/edac/i3000: document type promotion 2008-02-07 08:42:23 -08:00
eisa
firewire firewire: fix crash in automatic module unloading 2008-03-02 12:35:46 +01:00
firmware dmi: prevent linked list corruption 2008-02-23 17:12:15 -08:00
gpio gpio: handle pca953{4,5,6,7,8} too 2008-02-06 10:41:15 -08:00
hid HID: add USB IDs for MacBook 3rd generation 2008-02-13 17:08:04 +01:00
hwmon hwmon: normal_i2c arrays should be const 2008-02-18 21:58:15 -05:00
i2c i2c-i801: Add support for the ICH10 2008-02-24 20:03:42 +01:00
ide ide: remove stale comments from ide-dma.c (take 2) 2008-02-26 21:50:36 +01:00
ieee1394 ieee1394: sbp2: fix rescan-scsi-bus 2008-02-19 19:57:24 +01:00
infiniband RDMA/nes: Fix interrupt moderation low threshold 2008-02-26 16:24:29 -08:00
input mn10300: add the MN10300/AM33 architecture to the kernel 2008-02-08 09:22:30 -08:00
isdn hisax_fcpcipnp: move request_irq later in probe 2008-03-04 16:35:16 -08:00
leds PWM LED driver 2008-02-08 09:22:38 -08:00
lguest lguest: accept guest _PAGE_PWT page table entries 2008-02-09 23:24:09 +01:00
macintosh PM: Introduce PM_EVENT_HIBERNATE callback state 2008-02-23 10:40:04 -08:00
mca
md md: lock access to rdev attributes properly 2008-03-04 16:35:18 -08:00
media V4L/DVB (7219): zoran: Fix namespace conflicts with Zoran 'GPIO_MAX' enum 2008-02-18 12:18:28 -03:00
memstick drivers/memstick/host/tifm_ms.c breakage 2008-02-13 08:16:35 -08:00
message docbook: fix fusion source files 2008-03-03 10:47:14 -08:00
mfd sm501: add support for the SM502 programmable PLL 2008-03-04 16:35:13 -08:00
misc ACPI: thinkpad-acpi: fix hotkey_get_tablet_mode 2008-03-04 16:35:16 -08:00
mmc mmc: extend ricoh_mmc to support Ricoh RL5c476 2008-02-08 09:02:47 +01:00
mtd Introduce path_put() 2008-02-14 21:13:33 -08:00
net m68knommu: fix fec driver interrupt races 2008-03-04 08:04:11 -08:00
nubus nubus: kill drivers/nubus/nubus_syms.c 2008-02-05 09:44:23 -08:00
of [POWERPC] Create and hook up of_platform_device_shutdown 2008-02-06 16:29:59 +11:00
oprofile d_path: Make get_dcookie() use a struct path argument 2008-02-14 21:17:08 -08:00
parisc iommu: parisc: make the IOMMUs respect the segment boundary limits 2008-03-04 16:35:17 -08:00
parport parport: section fixup 2008-02-13 16:21:19 -08:00
pci docbook: fix kernel-api source files 2008-03-03 10:47:14 -08:00
pcmcia PCI: drivers/pcmcia/i82092.c: fix up after pci_bus_region changes 2008-02-21 15:34:35 -08:00
pnp Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-02-14 21:29:46 -08:00
power Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-02-07 09:45:58 -08:00
ps3 [POWERPC] PS3: Update sys-manager button events 2008-02-14 22:11:01 +11:00
rapidio docbook: fix rapidio source files 2008-03-03 10:47:13 -08:00
rtc rtc: add support for the S-35390A RTC chip 2008-03-04 16:35:09 -08:00
s390 Build fix for drivers/s390/char/defkeymap.c 2008-03-04 08:01:26 -08:00
sbus
scsi scsi: missing add of padded bytes to io completion byte count 2008-03-04 20:24:05 +01:00
serial drivers/serial/m32r_sio.c: correct use of ! and & 2008-03-04 16:35:16 -08:00
sh maple: fix device detection 2008-02-26 14:12:09 +09:00
sn
spi powerpc: mpc5200: fix build error on mpc52xx_psc_spi device driver 2008-03-04 16:35:12 -08:00
ssb SSB PCI core driver: use new SPROM data structure 2008-02-28 09:29:58 -05:00
tc
telephony
thermal thermal: use ERR_PTR for returning error 2008-02-15 18:21:30 -05:00
uio UIO: fix Greg's stupid changes 2008-02-21 15:27:07 -08:00
usb docbook: fix usb source files 2008-03-03 10:47:14 -08:00
video sm501fb: fix timing limits 2008-03-04 16:35:13 -08:00
virtio virtio: add missing #include <linux/delay.h> 2008-02-06 10:41:21 -08:00
w1 ds1wm: report bus reset error 2008-03-04 16:35:12 -08:00
watchdog [WATCHDOG] HP ProLiant WatchDog driver 2008-02-18 17:06:21 +00:00
xen
zorro
Kconfig memstick: initial commit for Sony MemoryStick support 2008-02-09 11:08:34 -08:00
Makefile memstick: initial commit for Sony MemoryStick support 2008-02-09 11:08:34 -08:00