* [PATCH 2.6.19-rc3] (1/2) fix bd_claim_by_kobject error handling
@ 2006-10-30 21:23 Jun'ichi Nomura
0 siblings, 0 replies; only message in thread
From: Jun'ichi Nomura @ 2006-10-30 21:23 UTC (permalink / raw)
To: torvalds, akpm, rdunlap, mst, linux-kernel
Cc: bunk, pavel, len.brown, linux-acpi, linux-pm, martin
[-- Attachment #1: Type: text/plain, Size: 621 bytes --]
Hi,
Excuse me for the long Cc list.
I kept people in the thread below in Cc.
http://marc.theaimsgroup.com/?l=linux-kernel&m=116221664710826&w=2
The patch below fixes bd_claim_by_kobject to release bdev correctly
in case that bd_claim succeeds but following add_bd_holder fails.
If it happens, the caller takes it didn't bd_claim() where actually
it did. The bdev becomes no longer bd_claim-able from others.
I don't have any reproducible test case for it but it's a bug.
The bug is introduced in 2.6.18-rc1-mm2 and now in 2.6.19-rc3.
Please consider to apply.
Thanks,
--
Jun'ichi Nomura, NEC Corporation of America
[-- Attachment #2: fix-bd_claim_by_kobject-error-handling.patch --]
[-- Type: text/x-patch, Size: 732 bytes --]
The patch below fixes bd_claim_by_kobject to release bdev correctly
in case that bd_claim succeeds but following add_bd_holder fails.
fs/block_dev.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
--- linux-2.6.orig/fs/block_dev.c 2006-10-30 10:07:16.000000000 -0500
+++ linux-2.6/fs/block_dev.c 2006-10-30 15:38:21.000000000 -0500
@@ -751,8 +751,11 @@ static int bd_claim_by_kobject(struct bl
mutex_lock_nested(&bdev->bd_mutex, BD_MUTEX_PARTITION);
res = bd_claim(bdev, holder);
- if (res == 0)
+ if (res == 0) {
res = add_bd_holder(bdev, bo);
+ if (res)
+ bd_release(bdev);
+ }
if (res)
free_bd_holder(bo);
mutex_unlock(&bdev->bd_mutex);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-10-30 21:23 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-30 21:23 [PATCH 2.6.19-rc3] (1/2) fix bd_claim_by_kobject error handling Jun'ichi Nomura
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.