diff --git a/[refs] b/[refs] index 37378b1bf263..1ae9955d017f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 161613293fd4b7d5ceb1faab788f47e688e07a67 +refs/heads/master: 8ec970d8561abb5645d4602433b772e268c96d05 diff --git a/trunk/include/crypto/scatterwalk.h b/trunk/include/crypto/scatterwalk.h index 224658b8d806..833d208c25d6 100644 --- a/trunk/include/crypto/scatterwalk.h +++ b/trunk/include/crypto/scatterwalk.h @@ -57,10 +57,14 @@ static inline void scatterwalk_sg_chain(struct scatterlist *sg1, int num, struct scatterlist *sg2) { sg_set_page(&sg1[num - 1], (void *)sg2, 0, 0); + sg1[num - 1].page_link &= ~0x02; } 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); }