aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
Diffstat (limited to 'crypto')
-rw-r--r--crypto/async_tx/async_xor.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/crypto/async_tx/async_xor.c b/crypto/async_tx/async_xor.c
index 154cc84381c2..8ade0a0481c6 100644
--- a/crypto/async_tx/async_xor.c
+++ b/crypto/async_tx/async_xor.c
@@ -230,9 +230,7 @@ EXPORT_SYMBOL_GPL(async_xor);
230 230
231static int page_is_zero(struct page *p, unsigned int offset, size_t len) 231static int page_is_zero(struct page *p, unsigned int offset, size_t len)
232{ 232{
233 char *a = page_address(p) + offset; 233 return !memchr_inv(page_address(p) + offset, 0, len);
234 return ((*(u32 *) a) == 0 &&
235 memcmp(a, a + 4, len - 4) == 0);
236} 234}
237 235
238static inline struct dma_chan * 236static inline struct dma_chan *