mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-24 10:17:48 +07:00
367733db7a
commit 3c02e04fd4f57130e4fa75fab6f528f7a52db9b5 upstream.
crypto: Fix divide error in do_xor_speed()
From: Kirill Tkhai <ktkhai@virtuozzo.com>
Latest (but not only latest) linux-next panics with divide
error on my QEMU setup.
The patch at the bottom of this message fixes the problem.
xor: measuring software checksum speed
divide error: 0000 [#1] PREEMPT SMP KASAN
PREEMPT SMP KASAN
CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.10.0-next-20201223+ #2177
RIP: 0010:do_xor_speed+0xbb/0xf3
Code: 41 ff cc 75 b5 bf 01 00 00 00 e8 3d 23 8b fe 65 8b 05 f6 49 83 7d 85 c0 75 05 e8
84 70 81 fe b8 00 00 50 c3 31 d2 48 8d 7b 10 <f7> f5 41 89 c4 e8 58 07 a2 fe 44 89 63 10 48 8d 7b 08
e8 cb 07 a2
RSP: 0000:ffff888100137dc8 EFLAGS: 00010246
RAX: 00000000c3500000 RBX: ffffffff823f0160 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000808 RDI: ffffffff823f0170
RBP: 0000000000000000 R08: ffffffff8109c50f R09: ffffffff824bb6f7
R10: fffffbfff04976de R11: 0000000000000001 R12: 0000000000000000
R13: ffff888101997000 R14: ffff888101994000 R15: ffffffff823f0178
FS: 0000000000000000(0000) GS:ffff8881f7780000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 000000000220e000 CR4: 00000000000006a0
Call Trace:
calibrate_xor_blocks+0x13c/0x1c4
? do_xor_speed+0xf3/0xf3
do_one_initcall+0xc1/0x1b7
? start_kernel+0x373/0x373
? unpoison_range+0x3a/0x60
kernel_init_freeable+0x1dd/0x238
? rest_init+0xc6/0xc6
kernel_init+0x8/0x10a
ret_from_fork+0x1f/0x30
---[ end trace 5bd3c1d0b77772da ]---
Fixes:
|
||
---|---|---|
.. | ||
asymmetric_keys | ||
async_tx | ||
842.c | ||
acompress.c | ||
adiantum.c | ||
aead.c | ||
aegis128-core.c | ||
aegis128-neon-inner.c | ||
aegis128-neon.c | ||
aegis.h | ||
aes_generic.c | ||
aes_ti.c | ||
af_alg.c | ||
ahash.c | ||
akcipher.c | ||
algapi.c | ||
algboss.c | ||
algif_aead.c | ||
algif_hash.c | ||
algif_rng.c | ||
algif_skcipher.c | ||
ansi_cprng.c | ||
anubis.c | ||
api.c | ||
arc4.c | ||
authenc.c | ||
authencesn.c | ||
blake2b_generic.c | ||
blake2s_generic.c | ||
blowfish_common.c | ||
blowfish_generic.c | ||
camellia_generic.c | ||
cast5_generic.c | ||
cast6_generic.c | ||
cast_common.c | ||
cbc.c | ||
ccm.c | ||
cfb.c | ||
chacha20poly1305.c | ||
chacha_generic.c | ||
cipher.c | ||
cmac.c | ||
compress.c | ||
crc32_generic.c | ||
crc32c_generic.c | ||
crct10dif_common.c | ||
crct10dif_generic.c | ||
cryptd.c | ||
crypto_engine.c | ||
crypto_null.c | ||
crypto_user_base.c | ||
crypto_user_stat.c | ||
ctr.c | ||
cts.c | ||
curve25519-generic.c | ||
deflate.c | ||
des_generic.c | ||
dh_helper.c | ||
dh.c | ||
drbg.c | ||
ecb.c | ||
ecc_curve_defs.h | ||
ecc.c | ||
ecc.h | ||
ecdh_helper.c | ||
ecdh.c | ||
echainiv.c | ||
ecrdsa_defs.h | ||
ecrdsa_params.asn1 | ||
ecrdsa_pub_key.asn1 | ||
ecrdsa.c | ||
essiv.c | ||
fcrypt.c | ||
fips.c | ||
gcm.c | ||
geniv.c | ||
gf128mul.c | ||
ghash-generic.c | ||
hash_info.c | ||
hmac.c | ||
internal.h | ||
jitterentropy-kcapi.c | ||
jitterentropy.c | ||
jitterentropy.h | ||
Kconfig | ||
keywrap.c | ||
khazad.c | ||
kpp.c | ||
lrw.c | ||
lz4.c | ||
lz4hc.c | ||
lzo-rle.c | ||
lzo.c | ||
Makefile | ||
md4.c | ||
md5.c | ||
memneq.c | ||
michael_mic.c | ||
nhpoly1305.c | ||
ofb.c | ||
pcbc.c | ||
pcrypt.c | ||
poly1305_generic.c | ||
proc.c | ||
ripemd.h | ||
rmd128.c | ||
rmd160.c | ||
rmd256.c | ||
rmd320.c | ||
rng.c | ||
rsa_helper.c | ||
rsa-pkcs1pad.c | ||
rsa.c | ||
rsaprivkey.asn1 | ||
rsapubkey.asn1 | ||
salsa20_generic.c | ||
scatterwalk.c | ||
scompress.c | ||
seed.c | ||
seqiv.c | ||
serpent_generic.c | ||
sha1_generic.c | ||
sha3_generic.c | ||
sha256_generic.c | ||
sha512_generic.c | ||
shash.c | ||
simd.c | ||
skcipher.c | ||
sm2.c | ||
sm2signature.asn1 | ||
sm3_generic.c | ||
sm4_generic.c | ||
streebog_generic.c | ||
tcrypt.c | ||
tcrypt.h | ||
tea.c | ||
testmgr.c | ||
testmgr.h | ||
tgr192.c | ||
twofish_common.c | ||
twofish_generic.c | ||
vmac.c | ||
wp512.c | ||
xcbc.c | ||
xor.c | ||
xts.c | ||
xxhash_generic.c | ||
zstd.c |