Bug 200891 - Issues with aes_intel and ml kernel
Summary: Issues with aes_intel and ml kernel
Status: NEW
Alias: None
Product: Other
Classification: Unclassified
Component: Modules (show other bugs)
Hardware: Intel Linux
: P1 high
Assignee: other_modules
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-22 13:57 UTC by Anthony Smith
Modified: 2018-08-22 13:57 UTC (History)
0 users

See Also:
Kernel Version: 4.18.3-1.el6.elrepo.x86_64
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Anthony Smith 2018-08-22 13:57:00 UTC
When using 4.18.3-1.el6.elrepo.x86_64 anything that calls the aes_intel module causes significant issues and any process using it just hangs for 15 - 30 minutes.

Examples:

modprobe -v aesni_intel
insmod /lib/modules/2.6.32-754.3.5.el6.x86_64/kernel/crypto/aes_generic.ko
insmod /lib/modules/2.6.32-754.3.5.el6.x86_64/kernel/arch/x86/crypto/aes-x86_64.ko
insmod /lib/modules/2.6.32-754.3.5.el6.x86_64/kernel/arch/x86/crypto/glue_helper.ko


That is as far as it gets, waited 30 minutes.

Same command on 2.6.32-754.3.5.el6.x86_64 on same hardware:

# modprobe -v aesni_intel
insmod /lib/modules/2.6.32-754.3.5.el6.x86_64/kernel/crypto/aes_generic.ko
insmod /lib/modules/2.6.32-754.3.5.el6.x86_64/kernel/arch/x86/crypto/aes-x86_64.ko
insmod /lib/modules/2.6.32-754.3.5.el6.x86_64/kernel/arch/x86/crypto/glue_helper.ko
insmod /lib/modules/2.6.32-754.3.5.el6.x86_64/kernel/crypto/gf128mul.ko
insmod /lib/modules/2.6.32-754.3.5.el6.x86_64/kernel/crypto/lrw.ko
insmod /lib/modules/2.6.32-754.3.5.el6.x86_64/kernel/crypto/cryptd.ko
insmod /lib/modules/2.6.32-754.3.5.el6.x86_64/kernel/arch/x86/crypto/ablk_helper.ko
insmod /lib/modules/2.6.32-754.3.5.el6.x86_64/kernel/arch/x86/crypto/aesni-intel.ko



When running libguestfs-test-tool with aes enabled in the bios it hangs for up to 30 minutes with:

[    1.096837] general protection fault: 0000 [#1] SMP PTI
[    1.097308] CPU: 0 PID: 271 Comm: cryptomgr_test Not tainted 4.18.3-1.el6.elrepo.x86_64 #1
[    1.097934] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2007
[    1.098401] RIP: 0010:aesni_gcm_init+0x89/0x30f [aesni_intel]
[    1.098845] Code: 0f 6f ca 66 0f 73 fa 08 66 0f 73 d9 08 66 0f eb da 66 0f 70 d1 24 66 0f 76 15 d3 70 01 00 66 0f db 15 ab 70 01 00 66 0f ef da <66> 0f 7f 5e 60 66 0f 6f eb 66 0f 70 cb 4e 66 0f ef cb 66 0f 7f 8e
[    1.100328] RSP: 0018:ffffc900003e7768 EFLAGS: 00010246
[    1.100728] RAX: ffffc900003e7b48 RBX: ffff88001c702200 RCX: ffff88001cb13850
[    1.101301] RDX: ffffc900003e7b48 RSI: ffffc900003e7858 RDI: ffff88001cb13860
[    1.101844] RBP: ffffc900003e7998 R08: ffff88001c79d000 R09: 0000000000000008
[    1.102409] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88001cb13850
[    1.102953] R13: 0000000000000000 R14: 0000000000000008 R15: 0000000000000000
[    1.103518] FS:  0000000000000000(0000) GS:ffff88001ec00000(0000) knlGS:0000000000000000
[    1.104135] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    1.104571] CR2: 00007ffd77dc8ff8 CR3: 000000000220a004 CR4: 00000000003606f0
[    1.105112] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    1.105650] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[    1.106191] Call Trace:
[    1.106384]  ? gcmaes_crypt_by_sg+0x14e/0x630 [aesni_intel]
[    1.106817]  ? __switch_to_asm+0x34/0x70
[    1.107122]  ? __switch_to_asm+0x40/0x70
[    1.107421]  ? __switch_to_asm+0x40/0x70
[    1.107726]  ? __switch_to_asm+0x40/0x70
[    1.108029]  ? __switch_to_asm+0x40/0x70
[    1.108332]  ? __switch_to_asm+0x40/0x70
[    1.108637]  ? __switch_to_asm+0x34/0x70
[    1.108944]  ? __schedule+0x2ed/0x730
[    1.109228]  ? ttwu_do_wakeup+0x2b/0x170
[    1.109525]  ? activate_task+0x54/0xc0
[    1.109823]  ? schedule+0x3a/0xa0
[    1.110085]  ? ttwu_queue+0x1a0/0x1d0
[    1.110365]  ? __kthread_create_on_node+0x15f/0x1b0
[    1.110741]  gcmaes_encrypt+0x1a9/0x2f0 [aesni_intel]
[    1.111167]  ? __crypto_alloc_tfm+0x52/0x170
[    1.111492]  ? __crypto_alloc_tfm+0x13e/0x170
[    1.111837]  ? kzfree+0x31/0x40
[    1.112100]  ? crypto_destroy_tfm+0x56/0x90
[    1.112431]  ? rfc4106_set_hash_subkey+0x6e/0xb0 [aesni_intel]
[    1.112883]  ? common_rfc4106_set_key+0x6c/0x90 [aesni_intel]
[    1.113320]  helper_rfc4106_encrypt+0x96/0xd0 [aesni_intel]
[    1.113747]  gcmaes_wrapper_encrypt+0x6d/0xa0 [aesni_intel]
[    1.114180]  __test_aead+0xe60/0x1370
[    1.114460]  test_aead+0x37/0xc0
[    1.114714]  alg_test_aead+0x52/0xb0
[    1.114994]  alg_test+0x12a/0x2e0
[    1.115253]  ? default_wake_function+0x12/0x20
[    1.115597]  ? __wake_up_common+0x8a/0x130
[    1.115915]  ? cryptomgr_probe+0xf0/0xf0
[    1.116218]  ? cryptomgr_probe+0xf0/0xf0
[    1.116518]  cryptomgr_test+0x48/0x50
[    1.116805]  ? cryptomgr_probe+0xf0/0xf0
[    1.117111]  kthread+0x10c/0x150
[    1.117358]  ? kthread_probe_data+0x40/0x40
[    1.117681]  ret_from_fork+0x35/0x40
[    1.117959] Modules linked in: aesni_intel(+) glue_helper crypto_simd cryptd aes_x86_64 joydev input_leds pcspkr sg i2c_piix4 ext2 ext4 jbd2 virtio_scsi virtio_blk virtio_net net_failover failover virtio_gpu ttm virtio_crypto crypto_$
[    1.121380] ---[ end trace 18058196474ffa77 ]---
[    1.121742] RIP: 0010:aesni_gcm_init+0x89/0x30f [aesni_intel]
[    1.122188] Code: 0f 6f ca 66 0f 73 fa 08 66 0f 73 d9 08 66 0f eb da 66 0f 70 d1 24 66 0f 76 15 d3 70 01 00 66 0f db 15 ab 70 01 00 66 0f ef da <66> 0f 7f 5e 60 66 0f 6f eb 66 0f 70 cb 4e 66 0f ef cb 66 0f 7f 8e
[    1.123618] RSP: 0018:ffffc900003e7768 EFLAGS: 00010246
[    1.124022] RAX: ffffc900003e7b48 RBX: ffff88001c702200 RCX: ffff88001cb13850
[    1.124564] RDX: ffffc900003e7b48 RSI: ffffc900003e7858 RDI: ffff88001cb13860
[    1.125112] RBP: ffffc900003e7998 R08: ffff88001c79d000 R09: 0000000000000008
[    1.125650] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88001cb13850
[    1.126228] R13: 0000000000000000 R14: 0000000000000008 R15: 0000000000000000
[    1.126768] FS:  0000000000000000(0000) GS:ffff88001ec00000(0000) knlGS:0000000000000000
[    1.127411] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    1.127855] CR2: 00007ffd77dc8ff8 CR3: 000000000220a004 CR4: 00000000003606f0
[    1.128396] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    1.128941] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


When creating some init scripts to load during boot the boot fails, log:

Aug 21 16:28:40 devnode7 kernel: AVX version of gcm_enc/dec engaged.
Aug 21 16:28:40 devnode7 kernel: AES CTR mode by8 optimization enabled
Aug 21 16:28:40 devnode7 kernel: general protection fault: 0000 [#1] SMP PTI
Aug 21 16:28:40 devnode7 kernel: CPU: 5 PID: 4829 Comm: cryptomgr_test Not tainted 4.18.3-1.el6.elrepo.x86_64 #1
Aug 21 16:28:40 devnode7 kernel: Hardware name: Supermicro SYS-5039MS-H12TRF/X11SSE-F, BIOS 2.1a 03/08/2018
Aug 21 16:28:40 devnode7 kernel: RIP: 0010:aesni_gcm_init+0x89/0x30f [aesni_intel]
Aug 21 16:28:40 devnode7 kernel: Code: 0f 6f ca 66 0f 73 fa 08 66 0f 73 d9 08 66 0f eb da 66 0f 70 d1 24 66 0f 76 15 d3 70 01 00 66 0f db 15 ab 70 01 00 66 0f ef da <66> 0f 7f 5e 60 66 0f 6f eb 66 0f 70 cb 4e 66 0f ef cb 66 0f 7f 8e
Aug 21 16:28:40 devnode7 kernel: RSP: 0018:ffffc90003997768 EFLAGS: 00010246
Aug 21 16:28:40 devnode7 kernel: RAX: ffffc90003997b48 RBX: ffff8808397cb080 RCX: ffff88084aa52450
Aug 21 16:28:40 devnode7 kernel: RDX: ffffc90003997b48 RSI: ffffc90003997858 RDI: ffff88084aa52460
Aug 21 16:28:40 devnode7 kernel: RBP: ffffc90003997998 R08: ffff88082da18000 R09: 0000000000000008
Aug 21 16:28:40 devnode7 kernel: R10: 0000000000000000 R11: 0000000000000000 R12: ffff88084aa52450
Aug 21 16:28:40 devnode7 kernel: R13: 0000000000000000 R14: 0000000000000008 R15: 0000000000000000
Aug 21 16:28:40 devnode7 kernel: FS:  0000000000000000(0000) GS:ffff880877940000(0000) knlGS:0000000000000000
Aug 21 16:28:40 devnode7 kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Aug 21 16:28:40 devnode7 kernel: CR2: 00007ffd5b7d7ff8 CR3: 000000000220a005 CR4: 00000000003626e0
Aug 21 16:28:40 devnode7 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Aug 21 16:28:40 devnode7 kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Aug 21 16:28:40 devnode7 kernel: Call Trace:
Aug 21 16:28:40 devnode7 kernel: ? gcmaes_crypt_by_sg+0x14e/0x630 [aesni_intel]
Aug 21 16:28:40 devnode7 kernel: ? __switch_to_asm+0x34/0x70
Aug 21 16:28:40 devnode7 kernel: ? __switch_to_asm+0x40/0x70
Aug 21 16:28:40 devnode7 kernel: ? __switch_to_asm+0x40/0x70
Aug 21 16:28:40 devnode7 kernel: ? __switch_to_asm+0x40/0x70
Aug 21 16:28:40 devnode7 kernel: ? __switch_to_asm+0x40/0x70
Aug 21 16:28:40 devnode7 kernel: ? __switch_to_asm+0x40/0x70
Aug 21 16:28:40 devnode7 kernel: ? __switch_to_asm+0x34/0x70
Aug 21 16:28:40 devnode7 kernel: ? __schedule+0x2ed/0x730
Aug 21 16:28:40 devnode7 kernel: ? ttwu_do_wakeup+0x2b/0x170
Aug 21 16:28:40 devnode7 kernel: ? __kthread_create_on_node+0x15f/0x1b0
Aug 21 16:28:40 devnode7 kernel: gcmaes_encrypt+0x1a9/0x2f0 [aesni_intel]
Aug 21 16:28:40 devnode7 kernel: ? __crypto_alloc_tfm+0x52/0x170
Aug 21 16:28:40 devnode7 kernel: ? __crypto_alloc_tfm+0x13e/0x170
Aug 21 16:28:40 devnode7 kernel: ? kzfree+0x31/0x40
Aug 21 16:28:40 devnode7 kernel: ? crypto_destroy_tfm+0x56/0x90
Aug 21 16:28:40 devnode7 kernel: ? rfc4106_set_hash_subkey+0x6e/0xb0 [aesni_intel]
Aug 21 16:28:40 devnode7 kernel: ? common_rfc4106_set_key+0x6c/0x90 [aesni_intel]
Aug 21 16:28:40 devnode7 kernel: helper_rfc4106_encrypt+0x96/0xd0 [aesni_intel]
Aug 21 16:28:40 devnode7 kernel: gcmaes_wrapper_encrypt+0x6d/0xa0 [aesni_intel]
Aug 21 16:28:40 devnode7 kernel: __test_aead+0xe60/0x1370
Aug 21 16:28:40 devnode7 kernel: test_aead+0x37/0xc0
Aug 21 16:28:40 devnode7 kernel: alg_test_aead+0x52/0xb0
Aug 21 16:28:40 devnode7 kernel: alg_test+0x12a/0x2e0
Aug 21 16:28:40 devnode7 kernel: ? default_wake_function+0x12/0x20
Aug 21 16:28:40 devnode7 kernel: ? __wake_up_common+0x8a/0x130
Aug 21 16:28:40 devnode7 kernel: ? cryptomgr_probe+0xf0/0xf0
Aug 21 16:28:40 devnode7 kernel: ? cryptomgr_probe+0xf0/0xf0
Aug 21 16:28:40 devnode7 kernel: cryptomgr_test+0x48/0x50
Aug 21 16:28:40 devnode7 kernel: ? cryptomgr_probe+0xf0/0xf0
Aug 21 16:28:40 devnode7 kernel: kthread+0x10c/0x150
Aug 21 16:28:40 devnode7 kernel: ? kthread_probe_data+0x40/0x40
Aug 21 16:28:40 devnode7 kernel: ret_from_fork+0x35/0x40
Aug 21 16:28:40 devnode7 kernel: Modules linked in: aesni_intel(+) glue_helper crypto_simd cryptd aes_x86_64 ebtable_nat ebtables iptable_filter ip_tables ip6table_filter ip6_tables ib_ipoib rdma_ucm ib_uverbs ib_umad rdma_cm configfs i$
Aug 21 16:28:40 devnode7 kernel: ---[ end trace bfb36c31a97a956c ]---
Aug 21 16:28:40 devnode7 kernel: RIP: 0010:aesni_gcm_init+0x89/0x30f [aesni_intel]
Aug 21 16:28:40 devnode7 kernel: Code: 0f 6f ca 66 0f 73 fa 08 66 0f 73 d9 08 66 0f eb da 66 0f 70 d1 24 66 0f 76 15 d3 70 01 00 66 0f db 15 ab 70 01 00 66 0f ef da <66> 0f 7f 5e 60 66 0f 6f eb 66 0f 70 cb 4e 66 0f ef cb 66 0f 7f 8e
Aug 21 16:28:40 devnode7 kernel: RSP: 0018:ffffc90003997768 EFLAGS: 00010246
Aug 21 16:28:40 devnode7 kernel: RAX: ffffc90003997b48 RBX: ffff8808397cb080 RCX: ffff88084aa52450
Aug 21 16:28:40 devnode7 kernel: RDX: ffffc90003997b48 RSI: ffffc90003997858 RDI: ffff88084aa52460
Aug 21 16:28:40 devnode7 kernel: RBP: ffffc90003997998 R08: ffff88082da18000 R09: 0000000000000008
Aug 21 16:28:40 devnode7 kernel: R10: 0000000000000000 R11: 0000000000000000 R12: ffff88084aa52450
Aug 21 16:28:40 devnode7 kernel: R13: 0000000000000000 R14: 0000000000000008 R15: 0000000000000000
Aug 21 16:28:40 devnode7 kernel: FS:  0000000000000000(0000) GS:ffff880877940000(0000) knlGS:0000000000000000
Aug 21 16:28:40 devnode7 kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Aug 21 16:28:40 devnode7 kernel: CR2: 00007ffd5b7d7ff8 CR3: 000000000220a005 CR4: 00000000003626e0
Aug 21 16:28:40 devnode7 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Aug 21 16:28:40 devnode7 kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


With aes disabled in the bios, these issues are no longer present.

Note You need to log in before you can comment on or make changes to this bug.