[jarkko-tpmdd:tpm_buf-v4] [tpm] 5581fa1c8f: WARNING:at_drivers/char/tpm/tpm-buf.c:#tpm_buf_reset

From: kernel test robot
Date: Tue Nov 28 2023 - 02:36:06 EST




Hello,

kernel test robot noticed "WARNING:at_drivers/char/tpm/tpm-buf.c:#tpm_buf_reset" on:

commit: 5581fa1c8fc5f0ecf4a5635fcc2a46d9bfdf3748 ("tpm: Store the length of the tpm_buf data separately.")
git://git.kernel.org/cgit/linux/kernel/git/jarkko/linux-tpmdd.git tpm_buf-v4

in testcase: stress-ng
version: stress-ng-x86_64-0.15.04-1_20231112
with following parameters:

nr_threads: 100%
testtime: 60s
sc_pid_max: 4194304
class: scheduler
test: hrtimers
cpufreq_governor: performance



compiler: gcc-12
test machine: 64 threads 2 sockets Intel(R) Xeon(R) Gold 6346 CPU @ 3.10GHz (Ice Lake) with 256G memory

(please refer to attached dmesg/kmsg for entire log/backtrace)



If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-lkp/202311272244.dc5dae8e-oliver.sang@xxxxxxxxx


[ 12.301011][ T1] ------------[ cut here ]------------
[ 12.303782][ T504] tsc: Refined TSC clocksource calibration: 3092.733 MHz
[ 12.306311][ T1] WARNING: CPU: 48 PID: 1 at drivers/char/tpm/tpm-buf.c:39 tpm_buf_reset (drivers/char/tpm/tpm-buf.c:39)
[ 12.313193][ T504] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2c9476b3f97, max_idle_ns: 440795271218 ns
[ 12.322271][ T1] Modules linked in:
[ 12.336676][ T1] CPU: 48 PID: 1 Comm: swapper/0 Not tainted 6.7.0-rc1-00347-g5581fa1c8fc5 #1
[ 12.345349][ T1] Hardware name: Inspur NF5180M6/NF5180M6, BIOS 06.00.04 04/12/2022
[ 12.353157][ T1] RIP: 0010:tpm_buf_reset (drivers/char/tpm/tpm-buf.c:39)
[ 12.358197][ T1] Code: fe c1 00 75 25 48 b9 00 00 00 00 0a 00 00 00 66 c1 c6 08 0f ca 48 89 0f 66 89 30 c7 40 02 00 00 00 0a 89 50 06 c3 cc cc cc cc <0f> 0b eb d7 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f 1f 84 00
All code
========
0: fe c1 inc %cl
2: 00 75 25 add %dh,0x25(%rbp)
5: 48 b9 00 00 00 00 0a movabs $0xa00000000,%rcx
c: 00 00 00
f: 66 c1 c6 08 rol $0x8,%si
13: 0f ca bswap %edx
15: 48 89 0f mov %rcx,(%rdi)
18: 66 89 30 mov %si,(%rax)
1b: c7 40 02 00 00 00 0a movl $0xa000000,0x2(%rax)
22: 89 50 06 mov %edx,0x6(%rax)
25: c3 retq
26: cc int3
27: cc int3
28: cc int3
29: cc int3
2a:* 0f 0b ud2 <-- trapping instruction
2c: eb d7 jmp 0x5
2e: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
35: 00 00 00 00
39: 66 data16
3a: 66 data16
3b: 2e cs
3c: 0f .byte 0xf
3d: 1f (bad)
3e: 84 00 test %al,(%rax)

Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: eb d7 jmp 0xffffffffffffffdb
4: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
b: 00 00 00 00
f: 66 data16
10: 66 data16
11: 2e cs
12: 0f .byte 0xf
13: 1f (bad)
14: 84 00 test %al,(%rax)
[ 12.377595][ T1] RSP: 0000:ffa00000001cba70 EFLAGS: 00010297
[ 12.383495][ T1] RAX: ff1100010d559000 RBX: 0000000000000000 RCX: 0000000000007fff
[ 12.391303][ T1] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffa00000001cbab0
[ 12.399113][ T1] RBP: ffa00000001cbab0 R08: 0000000000000001 R09: ff11003fc2e32a20
[ 12.406920][ T1] R10: 0000000000000000 R11: ff11003fc2e2ca64 R12: 0000000000000000
[ 12.414727][ T1] R13: ff11002087beaf80 R14: 0000000000000000 R15: 0000000000000020
[ 12.422535][ T1] FS: 0000000000000000(0000) GS:ff11003fc2e00000(0000) knlGS:0000000000000000
[ 12.431295][ T1] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 12.437717][ T1] CR2: 0000000000000000 CR3: 000000407ea18001 CR4: 0000000000771ef0
[ 12.445526][ T1] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 12.453333][ T1] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 12.461140][ T1] PKRU: 55555554
[ 12.464540][ T1] Call Trace:
[ 12.467679][ T1] <TASK>
[ 12.470471][ T1] ? tpm_buf_reset (drivers/char/tpm/tpm-buf.c:39)
[ 12.474906][ T1] ? __warn (kernel/panic.c:677)
[ 12.478825][ T1] ? tpm_buf_reset (drivers/char/tpm/tpm-buf.c:39)
[ 12.483260][ T1] ? report_bug (lib/bug.c:180 lib/bug.c:219)
[ 12.487609][ T1] ? handle_bug (arch/x86/kernel/traps.c:237)
[ 12.491786][ T1] ? exc_invalid_op (arch/x86/kernel/traps.c:258 (discriminator 1))
[ 12.496308][ T1] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:568)
[ 12.501177][ T1] ? tpm_buf_reset (drivers/char/tpm/tpm-buf.c:39)
[ 12.505609][ T1] tpm_buf_init (drivers/char/tpm/tpm-buf.c:25)
[ 12.509789][ T1] tpm2_get_random (drivers/char/tpm/tpm2-cmd.c:302)
[ 12.514308][ T1] tpm_get_random (drivers/char/tpm/tpm-interface.c:442)
[ 12.518658][ T1] add_early_randomness (drivers/char/hw_random/core.c:196 drivers/char/hw_random/core.c:69)
[ 12.523526][ T1] hwrng_register (drivers/char/hw_random/core.c:586)
[ 12.528047][ T1] tpm_chip_register (drivers/char/tpm/tpm-chip.c:549 drivers/char/tpm/tpm-chip.c:630 drivers/char/tpm/tpm-chip.c:616)
[ 12.532830][ T1] tpm_tis_core_init (drivers/char/tpm/tpm_tis_core.c:1293)
[ 12.537612][ T1] tpm_tis_plat_probe (drivers/char/tpm/tpm_tis.c:338)
[ 12.542394][ T1] platform_probe (drivers/base/platform.c:1404)
[ 12.546741][ T1] really_probe (drivers/base/dd.c:579 drivers/base/dd.c:658)
[ 12.551093][ T1] ? __pfx___driver_attach (drivers/base/dd.c:1157)
[ 12.556217][ T1] __driver_probe_device (drivers/base/dd.c:800)
[ 12.561258][ T1] driver_probe_device (drivers/base/dd.c:830)
[ 12.566041][ T1] __driver_attach (drivers/base/dd.c:1217)
[ 12.570564][ T1] bus_for_each_dev (drivers/base/bus.c:368)
[ 12.575085][ T1] bus_add_driver (drivers/base/bus.c:673)
[ 12.579608][ T1] driver_register (drivers/base/driver.c:246)
[ 12.584128][ T1] ? __pfx_init_tis (drivers/char/tpm/tpm_tis.c:391)
[ 12.588651][ T1] init_tis (drivers/char/tpm/tpm_tis.c:399)
[ 12.592571][ T1] ? __pfx_init_tis (drivers/char/tpm/tpm_tis.c:391)
[ 12.597089][ T1] do_one_initcall (init/main.c:1236)
[ 12.601613][ T1] do_initcalls (init/main.c:1297 init/main.c:1314)
[ 12.605877][ T1] kernel_init_freeable (init/main.c:1555)
[ 12.610916][ T1] ? __pfx_kernel_init (init/main.c:1433)
[ 12.615697][ T1] kernel_init (init/main.c:1443)
[ 12.619874][ T1] ret_from_fork (arch/x86/kernel/process.c:147)
[ 12.624136][ T1] ? __pfx_kernel_init (init/main.c:1433)
[ 12.628919][ T1] ret_from_fork_asm (arch/x86/entry/entry_64.S:250)
[ 12.633526][ T1] </TASK>
[ 12.636406][ T1] ---[ end trace 0000000000000000 ]---
[ 12.641784][ T504] clocksource: Switched to clocksource tsc


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20231127/202311272244.dc5dae8e-oliver.sang@xxxxxxxxx



--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki