<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<pre>Hi </pre>
<div class="moz-cite-prefix">
<pre>This is a patch that I investigated af_alg05 crashes on 3.10.0-1062.el7.x86_64. As af_alg05 describe,
it crashes on some architectures, such as arm and arm64. But on this kernel, it doesn't backport
commit 160544075f2 ("crypto: scatterwalk - Hide* PageSlab call to optimise away flush_dcache_page"),
so it doesn't have architectures restraint . Also this kernel doesn't support skcipher walk interface
(this interface replaces blkcipher walk and ablkcipher walk.), so this case will crash with blkcipher
walk on x86_64. as below:</pre>
</div>
<div class="moz-cite-prefix">
<pre>IP: [<ffffffff8212d39c>] scatterwalk_done+0x4c/0x60
.....
[ 176.424393] Call Trace:
[ 176.425484] [<ffffffff8213021e>] ? blkcipher_walk_done+0x21e/0x2b0
[ 176.426568] [<ffffffff8213060c>] blkcipher_walk_next+0x35c/0x3d0
[ 176.427653] [<ffffffff8213070a>] blkcipher_walk_first+0x8a/0x1a0
[ 176.428742] [<ffffffff8213083f>] blkcipher_walk_virt+0x1f/0x30
[ 176.429824] [<ffffffff8213d876>] crypto_cbc_decrypt+0x66/0x260
[ 176.430892] [<ffffffff81e7c29f>] ? gup_pud_range+0x13f/0x2a0
[ 176.431968] [<ffffffff8212f751>] async_decrypt+0x51/0x70
[ 176.433007] [<ffffffff8212f751>] ? async_decrypt+0x51/0x70
[ 176.434076] [<ffffffff82142849>] skcipher_recvmsg+0x3a9/0x400
[ 176.435112] [<ffffffff8242c6ec>] sock_aio_read.part.9+0x14c/0x170
[ 176.436156] [<ffffffff8242c731>] sock_aio_read+0x21/0x30
[ 176.437189] [<ffffffff820482d3>] do_sync_read+0x93/0xe0
[ 176.438219] [<ffffffff82048db5>] vfs_read+0x145/0x170
[ 176.439260] [<ffffffff82049bcf>] SyS_read+0x7f/0xf0
[ 176.440287] [<ffffffff8258aede>] system_call_fastpath+0x25/0x2a
Thanks
Yang Xu
</pre>
</div>
<div class="moz-cite-prefix">
</div>
<blockquote type="cite"
cite="mid:1568720356-29641-1-git-send-email-xuyang2018.jy@cn.fujitsu.com">
<pre class="moz-quote-pre" wrap="">Signed-off-by: Yang Xu <a class="moz-txt-link-rfc2396E" href="mailto:xuyang2018.jy@cn.fujitsu.com"><xuyang2018.jy@cn.fujitsu.com></a>
---
testcases/kernel/crypto/af_alg05.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/testcases/kernel/crypto/af_alg05.c b/testcases/kernel/crypto/af_alg05.c
index 419c65eab..964adffcc 100644
--- a/testcases/kernel/crypto/af_alg05.c
+++ b/testcases/kernel/crypto/af_alg05.c
@@ -10,6 +10,12 @@
* block size, and where the destination buffer starts exactly at a page
* boundary. Based on the reproducer from the commit message. Note that this
* issue only reproduces on certain architectures, such as arm and arm64.
+ *
+ * On some older kernel without commit 160544075f2 ("crypto: scatterwalk - Hide
+ * PageSlab call to optimise away flush_dcache_page") , it doesn't use
+ * ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE macro. It can crash on all architectures.
+ * Without skcipher walk interface, it is also a regresstion test for commit
+ * 0868def3e410("crypto: blkcipher - fix crash flushing dcache in error path").
*/
#include <errno.h>
</pre>
</blockquote>
</body>
</html>