[CRYPTO] api: Flush the current page right than the next
On platforms where flush_dcache_page is needed we're currently flushing the next page right than the one we've just processed. This patch fixes the off-by-one error. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
4ee531a3e6
commit
9f11672728
@ -59,8 +59,12 @@ EXPORT_SYMBOL_GPL(scatterwalk_map);
|
|||||||
static void scatterwalk_pagedone(struct scatter_walk *walk, int out,
|
static void scatterwalk_pagedone(struct scatter_walk *walk, int out,
|
||||||
unsigned int more)
|
unsigned int more)
|
||||||
{
|
{
|
||||||
if (out)
|
if (out) {
|
||||||
flush_dcache_page(scatterwalk_page(walk));
|
struct page *page;
|
||||||
|
|
||||||
|
page = walk->sg->page + ((walk->offset - 1) >> PAGE_SHIFT);
|
||||||
|
flush_dcache_page(page);
|
||||||
|
}
|
||||||
|
|
||||||
if (more) {
|
if (more) {
|
||||||
walk->offset += PAGE_SIZE - 1;
|
walk->offset += PAGE_SIZE - 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user