[PATCH] crypto: scatterwalk_copychunks() fails to advance through scatterlist

J. Bruce Fields bfields at fieldses.org
Tue Mar 20 10:16:14 EDT 2007


On Tue, Mar 20, 2007 at 04:16:56PM +1100, Herbert Xu wrote:
> Thanks for the patch.  However I still have a question as to why
> this is happening.
> 
> As far as I can see scatterwalk_copychunks is only called in two
> places.  In both spots it only processes one block of data.  Since
> we set the maximum block size to PAGE_SIZE/8 I don't see how you
> can get an offset of zero and still roll over to the next page
> in scatterwalk_copychunks.

Are the elements of the scatterlists assumed to always be full pages?  I
need to encrypt things that look like, for example:

	sg[0].page = page1
	sg[0].offset = 0
	sg[0].length = 5
	sg[1].page = page2
	sg[1].offset = 0
	sg[1].length = 37

and worse....  I could do this by hand if I had to, but the crypto code,
if it's not designed to handle this sort of thing, seems very close, so
I'd rather enhance it than duplicate a lot of this complicated
scatterlist-traversal stuff.

--b.


More information about the NFSv4 mailing list