From: Herbert Xu Date: Mon, 9 Feb 2009 03:22:14 +0000 (+1100) Subject: crypto: scatterwalk - Avoid flush_dcache_page on slab pages X-Git-Tag: Ubuntu-snapdragon-4.4.0-1050.54~27692^2 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=4f3e797ad07d52d34983354a77b365dfcd48c1b4;hp=412e87ae5d852bc3d836f475c19d954b3324363d;p=mirror_ubuntu-artful-kernel.git crypto: scatterwalk - Avoid flush_dcache_page on slab pages It's illegal to call flush_dcache_page on slab pages on a number of architectures. So this patch avoids doing so if PageSlab is true. In future we can move the flush_dcache_page call to those page cache users that actually need it. Reported-by: David S. Miller Signed-off-by: Herbert Xu --- diff --git a/crypto/scatterwalk.c b/crypto/scatterwalk.c index 9aeeb52004a5..3de89a424401 100644 --- a/crypto/scatterwalk.c +++ b/crypto/scatterwalk.c @@ -54,7 +54,8 @@ static void scatterwalk_pagedone(struct scatter_walk *walk, int out, struct page *page; page = sg_page(walk->sg) + ((walk->offset - 1) >> PAGE_SHIFT); - flush_dcache_page(page); + if (!PageSlab(page)) + flush_dcache_page(page); } if (more) {