Re: [patch 32/37] CRYPTO: api: scatterwalk_copychunks() fails to advance through scatterlist

Herbert Xu
2007-03-31T03:45:42Z

On Fri, Mar 30, 2007 at 08:11:29PM -0700, Greg KH wrote:
>
> Is this an "add-on" patch, or a replacement one?

This is an add-on. In case you want a replacement, here it is:

Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
diff --git a/crypto/scatterwalk.c b/crypto/scatterwalk.c
index 35172d3..0f76175 100644
--- a/crypto/scatterwalk.c
+++ b/crypto/scatterwalk.c
@@ -91,6 +91,8 @@ void scatterwalk_copychunks(void *buf, struct scatter_walk *walk,
memcpy_dir(buf, vaddr, len_this_page, out);
scatterwalk_unmap(vaddr, out);

+ scatterwalk_advance(walk, len_this_page);
+
if (nbytes == len_this_page)
break;

@@ -99,7 +101,5 @@ void scatterwalk_copychunks(void *buf, struct scatter_walk *walk,

scatterwalk_pagedone(walk, out, 1);
}
-
- scatterwalk_advance(walk, nbytes);
}
EXPORT_SYMBOL_GPL(scatterwalk_copychunks);