[dm-devel] [2.6.22 PATCH 05/26] dm crypt: fix avoid cloned bio ref after free

Alasdair G Kergon agk at redhat.com
Tue May 8 19:44:42 UTC 2007


From: olaf.kirch at oracle.com

Do not access the bio after generic_make_request

We should never access a bio after generic_make_request - there's
no guarantee it still exists.

Signed-off-by: olaf.kirch at oracle.com
Signed-off-by: Alasdair G Kergon <agk at redhat.com>
---

 drivers/md/dm-crypt.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)

Index: linux-2.6.21/drivers/md/dm-crypt.c
===================================================================
--- linux-2.6.21.orig/drivers/md/dm-crypt.c	2007-05-01 17:40:48.000000000 +0100
+++ linux-2.6.21/drivers/md/dm-crypt.c	2007-05-01 17:40:48.000000000 +0100
@@ -655,9 +655,12 @@ static void process_write(struct crypt_i
 
 		generic_make_request(clone);
 
+		/* Do not reference clone after this - it
+		 * may be gone already. */
+
 		/* out of memory -> run queues */
 		if (remaining)
-			congestion_wait(bio_data_dir(clone), HZ/100);
+			congestion_wait(WRITE, HZ/100);
 	}
 }
 




More information about the dm-devel mailing list