kernel-hacking-2024-linux-s.../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
.gitignore
bitmap.c [PATCH] md: endian annotations for the bitmap superblock 2006-10-21 13:35:05 -07:00
dm-bio-list.h
dm-bio-record.h
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
dm-hw-handler.h
dm-io.c
dm-io.h
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
dm-log.h
dm-mpath.c [PATCH] dm mpath: use kzalloc 2006-10-03 08:04:15 -07:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-raid1.c [PATCH] dm mirror: remove trailing space from table 2006-10-03 08:04:15 -07:00
dm-round-robin.c
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
dm-table.c [PATCH] dm table: add target flush 2006-10-03 08:04:16 -07:00
dm-target.c
dm-zero.c
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
Kconfig [PATCH] md: remove 'experimental' classification from raid5 reshape 2006-10-03 08:04:18 -07:00
kcopyd.c
kcopyd.h
linear.c [PATCH] md: define backing_dev_info.congested_fn for raid0 and linear 2006-10-03 08:04:18 -07:00
Makefile
md.c [PATCH] md: send online/offline uevents when an md array starts/stops 2006-11-03 12:27:55 -08:00
mktables.c
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
raid6algos.c
raid6altivec.uc
raid6int.uc
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c [PATCH] md: fix printk format warnings, seen on powerpc64: 2006-10-28 11:30:52 -07:00
unroll.pl
xor.c