crypto: scatterwalk - Use sg_chain_ptr on chain entries
authorTom Lendacky <thomas.lendacky@amd.com>
Thu, 5 Dec 2013 19:09:53 +0000 (13:09 -0600)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 9 Dec 2013 11:58:52 +0000 (19:58 +0800)
Now that scatterwalk_sg_chain sets the chain pointer bit the sg_page
call in scatterwalk_sg_next hits a BUG_ON when CONFIG_DEBUG_SG is
enabled. Use sg_chain_ptr instead of sg_page on a chain entry.

Cc: stable@vger.kernel.org
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
include/crypto/scatterwalk.h

index 64ebede..6a626a5 100644 (file)
@@ -44,7 +44,7 @@ static inline struct scatterlist *scatterwalk_sg_next(struct scatterlist *sg)
        if (sg_is_last(sg))
                return NULL;
 
-       return (++sg)->length ? sg : (void *)sg_page(sg);
+       return (++sg)->length ? sg : sg_chain_ptr(sg);
 }
 
 static inline void scatterwalk_crypto_chain(struct scatterlist *head,