kernel-ark/drivers/md
Alasdair G Kergon bfc5ecdf48 [PATCH] dm: fix find_device race
There is a race between dev_create() and find_device().

If the mdptr has not yet been stored against a device, find_device() needs to
behave as though no device was found.  It already returns NULL, but there is a
dm_put() missing: it must drop the reference dm_get_md() took.

The bug was introduced by dm-fix-mapped-device-ref-counting.patch.

It manifests itself if another dm ioctl attempts to reference a newly-created
device while the device creation ioctl is still running.  The consequence is
that the device cannot be removed until the machine is rebooted.  Certain udev
configurations can lead to this happening.

Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Cc: <dm-devel@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-11-08 18:29:23 -08:00
..
raid6test [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
bitmap.c [PATCH] md: endian annotations for the bitmap superblock 2006-10-21 13:35:05 -07:00
dm-bio-list.h [PATCH] device-mapper snapshot: bio_list fix 2005-11-22 09:14:31 -08:00
dm-bio-record.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-crypt.c [PATCH] Fix dmsetup table output change 2006-10-30 12:02:57 -08:00
dm-emc.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
dm-exception-store.c [PATCH] dm snapshot: fix metadata writing when suspending 2006-10-03 08:04:14 -07:00
dm-hw-handler.c BUG_ON() Conversion in md/dm-hw-handler.c 2006-03-24 18:36:27 +01:00
dm-hw-handler.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-io.c [PATCH] mempool: use common mempool kmalloc allocator 2006-03-26 08:56:59 -08:00
dm-io.h [PATCH] device-mapper: remove unused definition 2006-01-06 08:34:00 -08:00
dm-ioctl.c [PATCH] dm: fix find_device race 2006-11-08 18:29:23 -08:00
dm-linear.c [PATCH] dm: support ioctls on mapped devices: fix with fake file 2006-10-03 08:04:13 -07:00
dm-log.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-log.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-mpath.c [PATCH] dm mpath: use kzalloc 2006-10-03 08:04:15 -07:00
dm-mpath.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-path-selector.c BUG_ON() Conversion in md/dm-path-selector.c 2006-03-26 18:21:58 +02:00
dm-path-selector.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-raid1.c [PATCH] dm mirror: remove trailing space from table 2006-10-03 08:04:15 -07:00
dm-round-robin.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-snap.c [PATCH] dm snapshot: fix freeing pending exception 2006-10-03 08:04:15 -07:00
dm-snap.h [PATCH] dm snapshot: add workqueue 2006-10-03 08:04:14 -07:00
dm-stripe.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-table.c [PATCH] dm table: add target flush 2006-10-03 08:04:16 -07:00
dm-target.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-zero.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm.c [PATCH] dm: use private biosets 2006-10-03 08:04:16 -07:00
dm.h [PATCH] dm table: add target preresume 2006-10-03 08:04:15 -07:00
faulty.c [PATCH] md: allow array level to be set textually via sysfs 2006-01-06 08:34:09 -08:00
Kconfig [PATCH] md: remove 'experimental' classification from raid5 reshape 2006-10-03 08:04:18 -07:00
kcopyd.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
kcopyd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
linear.c [PATCH] md: define backing_dev_info.congested_fn for raid0 and linear 2006-10-03 08:04:18 -07:00
Makefile [PATCH] md: merge raid5 and raid6 code 2006-06-26 09:58:37 -07:00
md.c [PATCH] md: send online/offline uevents when an md array starts/stops 2006-11-03 12:27:55 -08:00
mktables.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
multipath.c [PATCH] md: fix up maintenance of ->degraded in multipath 2006-10-28 11:30:51 -07:00
raid0.c [PATCH] md: define backing_dev_info.congested_fn for raid0 and linear 2006-10-03 08:04:18 -07:00
raid1.c [PATCH] md: fix printk format warnings, seen on powerpc64: 2006-10-28 11:30:52 -07:00
raid5.c BUG_ON cleanup for drivers/md/ 2006-10-03 23:33:23 +02:00
raid6.h [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6algos.c [PATCH] drivers/md/raid6algos.c: fix a NULL dereference 2006-06-23 07:43:08 -07:00
raid6altivec.uc [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6int.uc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6mmx.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6recov.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6sse1.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6sse2.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6x86.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid10.c [PATCH] md: fix printk format warnings, seen on powerpc64: 2006-10-28 11:30:52 -07:00
unroll.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xor.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00