[PATCH] [A|B/master][SRU] Fix soft lockup on thunderx_zip driver
paolo.pisati at canonical.com
Tue Mar 27 10:31:52 UTC 2018
Enabling virtual mapped kernel stacks breaks the thunderx_zip driver. On
compression or decompression the executing CPU hangs in an endless loop. The
reason for this is the usage of __pa() by the driver that does not work for an
address that is not part of the 1:1 mapping.
== Fix ==
The attached patch fixes the driver - it's not an upstream patch (hence i marked
it as SAUCE) and it came from Cavim itself.
To reproduce the bug (and test the fixed kernel):
# modprobe zram
# echo 1 > /sys/block/zram0/reset
# echo deflate > /sys/block/zram0/comp_algorithm
# echo 128M > /sys/block/zram0/disksize
# mkfs.ext4 -F /dev/zram0
if the above sequence completes, your kernel is good.
== Regression Potential ==
The patch affects only the thunderx_zip driver (that is already in a completely
broken state), so the regression potential is low.
Tested on a thunderx board, proposing for artful/master and bionic/master.
Jan Glauber (1):
SAUCE: crypto: thunderx_zip: Fix fallout from CONFIG_VMAP_STACK
drivers/crypto/cavium/zip/zip_crypto.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
More information about the kernel-team