Skip to contentSkip to conversation

fix leak with bounced bio's

PATCH In review Jens Axboe 2 participants 3 messages Sep 9, 2004

Subsystems (2)
lore
Share & tools
lore

Jens Axboe

author
#0 lore raw

PATCH 1/1 fix leak with bounced bio's

Hi,

This might fix the last leak of memory reported with cd writing, the current highmem bounce code will leak n-1 pages for any n page bio where n > 1. CD writing typically uses 16 pages bios, so it is affected.

===== mm/highmem.c 1.51 vs edited =====

mm/highmem.c +2 -2
@@ -284,7 +284,7 @@
 	struct bio_vec *tovec, *fromvec;
 	int i;
 
-	bio_for_each_segment(tovec, to, i) {
+	__bio_for_each_segment(tovec, to, i, 0) {
 		fromvec = from->bi_io_vec + i;
 
 		/*
@@ -316,7 +316,7 @@
 	/*
 	 * free up bounce indirect pages used
 	 */
-	bio_for_each_segment(bvec, bio, i) {
+	__bio_for_each_segment(bvec, bio, i, 0) {
 		org_vec = bio_orig->bi_io_vec + i;
 		if (bvec->bv_page == org_vec->bv_page)
 			continue;
Signature · 1 line
Jens Axboe
#1 lore raw
Quoted 5 lines · Jens Axboe

Hi,

This might fix the last leak of memory reported with cd writing, the current highmem bounce code will leak n-1 pages for any n page bio where n > 1. CD writing typically uses 16 pages bios, so it is affected.

it fixes the leak for us that I described a while back
http://marc.theaimsgroup.com/?l=linux-kernel&m=109360958318479&w=2

Great :-))

cu,
Frank

Signature · 4 lines
Dipl.-Inform. Frank Steiner   Web:  http://www.bio.ifi.lmu.de/~steiner/
Lehrstuhl f. Bioinformatik    Mail: http://www.bio.ifi.lmu.de/~steiner/m/
LMU, Amalienstr. 17           Phone: +49 89 2180-4049
80333 Muenchen, Germany       Fax:   +49 89 2180-99-4049
author
#2 lore raw
Quoted 8 lines · Frank Steiner
Quoted 5 lines · Jens Axboe

Hi,

This might fix the last leak of memory reported with cd writing, the current highmem bounce code will leak n-1 pages for any n page bio where n > 1. CD writing typically uses 16 pages bios, so it is affected.

Quoted 4 lines

it fixes the leak for us that I described a while back
http://marc.theaimsgroup.com/?l=linux-kernel&m=109360958318479&w=2

Great :-))

Great, thanks for confirming!

Maybe we should unconditionally bounce all bios for a while in a test kernel, to make sure that all bouncing bugs are shaken out ;-)

Signature · 1 line
Jens Axboe