crypto: scatterwalk - Fix test in scatterwalk_done
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 12 Jul 2016 05:17:57 +0000 (13:17 +0800)
committerWilly Tarreau <w@1wt.eu>
Sat, 27 Aug 2016 09:40:19 +0000 (11:40 +0200)
commit801b100b137e407e036c282be0191db9f9887e3f
tree42519ef74e641528810e09d54ebbe2b6c93f872a
parentef15fd6c8acbadcf4be663b7a504aa6b191d8182
crypto: scatterwalk - Fix test in scatterwalk_done

commit 5f070e81bee35f1b7bd1477bb223a873ff657803 upstream.

When there is more data to be processed, the current test in
scatterwalk_done may prevent us from calling pagedone even when
we should.

In particular, if we're on an SG entry spanning multiple pages
where the last page is not a full page, we will incorrectly skip
calling pagedone on the second last page.

This patch fixes this by adding a separate test for whether we've
reached the end of a page.

Cc: stable@vger.kernel.org
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Willy Tarreau <w@1wt.eu>
crypto/scatterwalk.c