[9/*,CRYPTO] Remap when walk_out crosses page in crypt()
diff mbox series

Message ID 20050322112504.GC7224@gondor.apana.org.au
State New, archived
Headers show
Series
  • [9/*,CRYPTO] Remap when walk_out crosses page in crypt()
Related show

Commit Message

Herbert Xu March 22, 2005, 11:25 a.m. UTC
Hi:

This is needed so that we can keep the in_place assignment outside the
inner loop.  Without this in pathalogical situations we can start out
having walk_out being different from walk_in, but when walk_out crosses
a page it may converge with walk_in.

Cheers,

Comments

David Miller March 23, 2005, 8:17 p.m. UTC | #1
On Tue, 22 Mar 2005 22:25:04 +1100
Herbert Xu <herbert@gondor.apana.org.au> wrote:

> Hi:
> 
> This is needed so that we can keep the in_place assignment outside the
> inner loop.  Without this in pathalogical situations we can start out
> having walk_out being different from walk_in, but when walk_out crosses
> a page it may converge with walk_in.

All 9 patches applied, thanks Herbert.

Patches 7 through 9 were generated differently from the others,
look at the directory prefixes (or rather, a lack thereof):

===== cipher.c 1.26 vs edited =====
--- 1.26/crypto/cipher.c	2005-03-22 21:56:21 +11:00
+++ edited/cipher.c	2005-03-22 21:59:53 +11:00

I had to hand edit these before sending them through my patch
application scripts which expect -p1 diffs ;-)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Patch
diff mbox series

===== cipher.c 1.26 vs edited =====
--- 1.26/crypto/cipher.c	2005-03-22 21:56:21 +11:00
+++ edited/cipher.c	2005-03-22 21:59:53 +11:00
@@ -129,7 +129,9 @@ 
 			complete_dst(&walk_out, bsize, dst_p, in_place);
 
 			nbytes -= bsize;
-		} while (nbytes && !scatterwalk_across_pages(&walk_in, bsize));
+		} while (nbytes &&
+			 !scatterwalk_across_pages(&walk_in, bsize) &&
+			 !scatterwalk_across_pages(&walk_out, bsize));
 
 		scatterwalk_done(&walk_in, 0, nbytes);
 		scatterwalk_done(&walk_out, 1, nbytes);