Bug 192021 - BUG() with 4.10-rc2 loading aesni_intel module
Summary: BUG() with 4.10-rc2 loading aesni_intel module
Status: NEW
Alias: None
Product: Platform Specific/Hardware
Classification: Unclassified
Component: x86-64 (show other bugs)
Hardware: Intel Linux
: P1 high
Assignee: platform_x86_64@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-06 11:01 UTC by Martin Wilck
Modified: 2017-01-06 11:04 UTC (History)
1 user (show)

See Also:
Kernel Version: 4.10-rc2
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Martin Wilck 2017-01-06 11:01:27 UTC
Reported on opensuse-factory ML for the openSUSE tumbleweed kernel 4.10-rc2. https://lists.opensuse.org/opensuse-factory/2017-01/msg00058.html
Full log: http://sprunge.us/efbg

Jan 05 09:11:42 circassia systemd-cryptsetup[461]: Set cipher aes, mode xts-plain64, key size 256 bits for device /dev/disk/by-id/nvme-2002538435b1b37d4-part2.
Jan 05 09:11:44 circassia kernel: NET: Registered protocol family 38
Jan 05 09:11:44 circassia kernel: AVX2 version of gcm_enc/dec engaged.
Jan 05 09:11:44 circassia kernel: AES CTR mode by8 optimization enabled
Jan 05 09:11:44 circassia kernel: ------------[ cut here ]------------
Jan 05 09:11:44 circassia kernel: kernel BUG at ../crypto/algapi.c:401!
Jan 05 09:11:44 circassia kernel: invalid opcode: 0000 [#1] PREEMPT SMP
Jan 05 09:11:44 circassia kernel: Modules linked in: aesni_intel(+) algif_skcipher af_alg hid_generic hid_multitouch usbhid i915 crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel rtsx_pci_sdmmc mmc_core aes_x86_64 crypto_simd cryptd glue_helper serio_raw nvme nvme_core i2c_algo_bit xhci_pci drm_kms_helper rtsx_pci syscopyarea mfd_core xhci_hcd sysfillrect sysimgblt fb_sys_fops usbcore drm i2c_hid video button dm_mirror dm_region_hash dm_log dm_mod sg efivarfs
Jan 05 09:11:44 circassia kernel: CPU: 0 PID: 751 Comm: modprobe Not tainted 4.10.0-rc2-1.g870a2f2-default #1
Jan 05 09:11:44 circassia kernel: Hardware name: Dell Inc. XPS 13 9350/0VM5NC, BIOS 1.4.4 06/14/2016
Jan 05 09:11:44 circassia kernel: task: ffff9dd2ea67e080 task.stack: ffffb6b3826f8000
Jan 05 09:11:44 circassia kernel: RIP: 0010:crypto_unregister_alg+0x7e/0x80
Jan 05 09:11:44 circassia kernel: RSP: 0018:ffffb6b3826fbc18 EFLAGS: 00010202
Jan 05 09:11:44 circassia kernel: RAX: 0000000000000002 RBX: ffffb6b3826fbc18 RCX: dead000000000200
Jan 05 09:11:44 circassia kernel: RDX: ffffffff00000001 RSI: 00000000000004a5 RDI: ffffffffbdcafe80
Jan 05 09:11:44 circassia kernel: RBP: ffffb6b3826fbc40 R08: 0000000000000000 R09: 0000000000000000
Jan 05 09:11:44 circassia kernel: R10: 0000000000000004 R11: 000000000000000a R12: ffff9dd2eb799c40
Jan 05 09:11:44 circassia kernel: R13: 0000000000000000 R14: ffffffffc05ffcc0 R15: ffffffffc05ffd10
Jan 05 09:11:44 circassia kernel: FS:  00007f8892590040(0000) GS:ffff9dd2fec00000(0000) knlGS:0000000000000000
Jan 05 09:11:44 circassia kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Jan 05 09:11:44 circassia kernel: CR2: 00007ff8d6b61198 CR3: 0000000469cec000 CR4: 00000000003406f0
Jan 05 09:11:44 circassia kernel: Call Trace:
Jan 05 09:11:44 circassia kernel:  crypto_unregister_skcipher+0x12/0x20
Jan 05 09:11:44 circassia kernel:  simd_skcipher_free+0x16/0x30 [crypto_simd]
Jan 05 09:11:44 circassia kernel:  aesni_free_simds+0x2a/0x46 [aesni_intel]
Jan 05 09:11:44 circassia kernel:  aesni_init+0x1a1/0x1e2 [aesni_intel]
Jan 05 09:11:44 circassia kernel:  ? 0xffffffffc04e2000
Jan 05 09:11:44 circassia kernel:  do_one_initcall+0x52/0x1a0
Jan 05 09:11:44 circassia kernel:  ? __vunmap+0x81/0xd0
Jan 05 09:11:44 circassia kernel:  ? do_init_module+0x27/0x200
Jan 05 09:11:44 circassia kernel:  do_init_module+0x5f/0x200
Jan 05 09:11:44 circassia kernel:  load_module+0x1934/0x1d50
Jan 05 09:11:44 circassia kernel:  ? __symbol_put+0x50/0x50
Jan 05 09:11:44 circassia kernel:  ? vfs_read+0x11b/0x130
Jan 05 09:11:44 circassia kernel:  SYSC_finit_module+0xbc/0xf0
Jan 05 09:11:44 circassia kernel:  SyS_finit_module+0xe/0x10
Jan 05 09:11:44 circassia kernel:  entry_SYSCALL_64_fastpath+0x1e/0xad
Jan 05 09:11:44 circassia kernel: RIP: 0033:0x7f8891c78ab9
Jan 05 09:11:44 circassia kernel: RSP: 002b:00007fff5b09a958 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
Jan 05 09:11:44 circassia kernel: RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f8891c78ab9
Jan 05 09:11:44 circassia kernel: RDX: 0000000000000000 RSI: 000000000041af06 RDI: 0000000000000000
Jan 05 09:11:44 circassia kernel: RBP: 0000000000000005 R08: 0000000000000000 R09: 0000000001552250
Jan 05 09:11:44 circassia kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 00007fff5b099960
Jan 05 09:11:44 circassia kernel: R13: 00007fff5b099940 R14: 0000000000000005 R15: 0000000001553350
Jan 05 09:11:44 circassia kernel: Code: 01 75 28 49 8b 84 24 10 01 00 00 48 85 c0 74 05 4c 89 e7 ff d0 48 89 df e8 10 fa ff ff 48 83 c4 10 44 89 e8 5b 41 5c 41 5d 5d c3 <0f> 0b 0f 1f 44 00 00 85 f6 7e 43 55 8d 46 ff 48 89 e5 41 55 41 
Jan 05 09:11:44 circassia kernel: RIP: crypto_unregister_alg+0x7e/0x80 RSP: ffffb6b3826fbc18
Jan 05 09:11:44 circassia kernel: ---[ end trace db7e42fdeb6e62c9 ]---
Comment 1 Martin Wilck 2017-01-06 11:04:51 UTC
Herbert, I believe this is related to your upstream patch series which was added in 4.10rc2:

* 85671860caaca crypto: aesni - Convert to skcipher
eed93e0ce335f crypto: testmgr - Do not test internal algorithms
065ce3273782b crypto: glue_helper - Add skcipher xts helpers
043a44001b9ea crypto: pcbc - Convert to skcipher
* 266d051601017 crypto: simd - Add simd skcipher helper
4e0958d19bd86 crypto: cryptd - Add support for skcipher
430b441cdcdeb crypto: api - Do not clear type bits in crypto_larval_lookup
f1c131b45410a crypto: xts - Convert to skcipher
700cb3f5fe755 crypto: lrw - Convert to skcipher
cf2c0fe740840 crypto: aes-ce-ccm - Use skcipher walk interface
b286d8b1a6906 crypto: skcipher - Add skcipher walk interface

The trace involves code from the two patches marked (*).

The bug is here:

	BUG_ON(atomic_read(&alg->cra_refcnt) != 1);

The cra_refcnt appears to be 2 (%rax) in the stack trace above.

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