2004-11-09 03:47:24

by Nigel Cunningham

[permalink] [raw]
Subject: PATCH (Trivial): Fix dm_io.c oops in low memory conditions.

Hi.

If you call drivers/md/dm-io.c:resize_pool on an empty pool and
mempool_create is unable to make the pool, the condition is not handled
correctly, resulting in an oops in mempool_destroy.

Please apply.

Regards,

Nigel

diff -ruN 900-dm-low-memory-fix-old/drivers/md/dm-io.c 900-dm-low-memory-fix-new/drivers/md/dm-io.c
--- 900-dm-low-memory-fix-old/drivers/md/dm-io.c 2004-11-09 14:35:09.234557768 +1100
+++ 900-dm-low-memory-fix-new/drivers/md/dm-io.c 2004-11-09 13:34:36.000000000 +1100
@@ -265,7 +265,7 @@
/* create new pool */
_io_pool = mempool_create(new_ios, alloc_io, free_io, NULL);
if (!_io_pool)
- r = -ENOMEM;
+ return -ENOMEM;

r = bio_set_init(&_bios, "dm-io", 512, 1);
if (r) {

--
Nigel Cunningham
Pastoral Worker
Christian Reformed Church of Tuggeranong
PO Box 1004, Tuggeranong, ACT 2901

You see, at just the right time, when we were still powerless, Christ
died for the ungodly. -- Romans 5:6