2021-03-09 13:24:48

by kernel test robot

[permalink] [raw]
Subject: [sched] ef72661e28: WARNING:at_arch/x86/kernel/static_call.c:#__static_call_validate


Greeting,

FYI, we noticed the following commit (built with gcc-9):

commit: ef72661e28c64ad610f89acc2832ec67b27ba438 ("sched: Harden PREEMPT_DYNAMIC")
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master


in testcase: kernel-selftests
version: kernel-selftests-x86_64-b553cffa-1_20210122
with following parameters:

group: mptcp
ucode: 0xe2

test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
test-url: https://www.kernel.org/doc/Documentation/kselftest.txt


on test machine: 8 threads Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz with 28G memory

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):



If you fix the issue, kindly add following tag
Reported-by: kernel test robot <[email protected]>


[ 34.627609] WARNING: CPU: 3 PID: 260 at arch/x86/kernel/static_call.c:77 __static_call_validate (kbuild/src/consumer/arch/x86/kernel/static_call.c:77 (discriminator 3))
[ 34.627986] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 34.637328] Modules linked in: ghash_clmulni_intel(+) acpi_cpufreq(+) dell_smbios(+) i915(+) mei_wdt wmi_bmof sparse_keymap dell_wmi_descriptor ahci libahci dcdbas rapl joydev libata i2c_i801 intel_cstate mei_me i2c_smbus intel_uncore mei intel_pch_thermal wmi intel_gtt video intel_pmc_core acpi_pad ip_tables
[ 34.643816] ata4: SATA link down (SStatus 4 SControl 300)
[ 34.671420] CPU: 3 PID: 260 Comm: systemd-udevd Tainted: G I 5.11.0-00041-gef72661e28c6 #1
[ 34.676887] ata3: SATA link down (SStatus 4 SControl 300)
[ 34.686500] Hardware name: Dell Inc. OptiPlex 7040/0Y7WYT, BIOS 1.2.8 01/26/2016
[ 34.692124] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 34.699565] RIP: 0010:__static_call_validate (kbuild/src/consumer/arch/x86/kernel/static_call.c:77 (discriminator 3))
[ 34.705837] ata1.00: ATA-10: WDC WD10EZEX-75WN4A0, 01.01A01, max UDMA/133
[ 34.705840] ata1.00: 1953525168 sectors, multi 16: LBA48 NCQ (depth 32), AA
[ 34.711097] Code: 05 3f 39 35 01 75 d7 0f b6 05 3a 39 35 01 38 47 04 75 cb c3 48 89 fa 48 c7 c7 a0 6d 7a 82 c6 05 2c d1 3f 02 01 e8 88 e1 d1 00 <0f> 0b c3 0f b6 4a 04 38 4f 04 75 c9 c3 c3 66 2e 0f 1f 84 00 00 00
All code
========
0: 05 3f 39 35 01 add $0x135393f,%eax
5: 75 d7 jne 0xffffffffffffffde
7: 0f b6 05 3a 39 35 01 movzbl 0x135393a(%rip),%eax # 0x1353948
e: 38 47 04 cmp %al,0x4(%rdi)
11: 75 cb jne 0xffffffffffffffde
13: c3 retq
14: 48 89 fa mov %rdi,%rdx
17: 48 c7 c7 a0 6d 7a 82 mov $0xffffffff827a6da0,%rdi
1e: c6 05 2c d1 3f 02 01 movb $0x1,0x23fd12c(%rip) # 0x23fd151
25: e8 88 e1 d1 00 callq 0xd1e1b2
2a:* 0f 0b ud2 <-- trapping instruction
2c: c3 retq
2d: 0f b6 4a 04 movzbl 0x4(%rdx),%ecx
31: 38 4f 04 cmp %cl,0x4(%rdi)
34: 75 c9 jne 0xffffffffffffffff
36: c3 retq
37: c3 retq
38: 66 data16
39: 2e cs
3a: 0f .byte 0xf
3b: 1f (bad)
3c: 84 00 test %al,(%rax)
...

Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: c3 retq
3: 0f b6 4a 04 movzbl 0x4(%rdx),%ecx
7: 38 4f 04 cmp %cl,0x4(%rdi)
a: 75 c9 jne 0xffffffffffffffd5
c: c3 retq
d: c3 retq
e: 66 data16
f: 2e cs
10: 0f .byte 0xf
11: 1f (bad)
12: 84 00 test %al,(%rax)
...
[ 34.725146] ata2.00: ATA-9: INTEL SSDSC2BA800G4, G2010150, max UDMA/133
[ 34.744110] RSP: 0018:ffffc90000dabc20 EFLAGS: 00010282
[ 34.750735] ata2.00: 1562824368 sectors, multi 1: LBA48 NCQ (depth 32)
[ 34.750935] ata1.00: configured for UDMA/133
[ 34.756080]
[ 34.762813] ata2.00: configured for UDMA/133
[ 34.763406] scsi 0:0:0:0: Direct-Access ATA WDC WD10EZEX-75W 1A01 PQ: 0 ANSI: 5
[ 34.767091] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
[ 34.767094] RDX: 0000000000000001 RSI: ffffffff81207fcf RDI: ffffffff81207fcf
[ 34.767096] RBP: ffffffffc037dc0a R08: 0000000000000001 R09: 0000000000000001
[ 34.768960] scsi 1:0:0:0: Direct-Access ATA INTEL SSDSC2BA80 0150 PQ: 0 ANSI: 5
[ 34.773072] R10: 0000000000000001 R11: 0000000000000001 R12: ffffffff813361a0
[ 34.773074] R13: 0000000000000000 R14: ffffffffc037dc0a R15: ffffffffc0572f3b
[ 34.773076] FS: 00007fe001b1ed40(0000) GS:ffff888759c80000(0000) knlGS:0000000000000000
[ 34.773078] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 34.773079] CR2: 00007fe0011ecc34 CR3: 0000000753934003 CR4: 00000000003706e0
[ 34.773081] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 34.773082] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 34.861644] Call Trace:
[ 34.864212] arch_static_call_transform (kbuild/src/consumer/arch/x86/kernel/static_call.c:106)
[ 34.869051] __static_call_init+0x15f/0x220
[ 34.874122] static_call_module_notify (kbuild/src/consumer/kernel/static_call.c:211 kbuild/src/consumer/kernel/static_call.c:380 kbuild/src/consumer/kernel/static_call.c:423)
1;39mNetwork Tim
[ 34.892093] load_module (kbuild/src/consumer/include/linux/notifier.h:200 kbuild/src/consumer/kernel/module.c:3861 kbuild/src/consumer/kernel/module.c:4010)
e Synchronizatio
[ 34.897151] ? __kernel_read (kbuild/src/consumer/fs/read_write.c:454 (discriminator 1))
[ 34.902583] ? __do_sys_finit_module (kbuild/src/consumer/kernel/module.c:4133)
[ 34.907724] __do_sys_finit_module (kbuild/src/consumer/kernel/module.c:4133)
[ 34.912218] do_syscall_64 (kbuild/src/consumer/arch/x86/entry/common.c:46)
[ 34.912240] entry_SYSCALL_64_after_hwframe (kbuild/src/consumer/arch/x86/entry/entry_64.S:127)
0m] Reached targ
[ 34.912260] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 07 6f 0c 00 f7 d8 64 89 01 48
All code
========
0: 00 c3 add %al,%bl
2: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
9: 00 00 00
c: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
11: 48 89 f8 mov %rdi,%rax
14: 48 89 f7 mov %rsi,%rdi
17: 48 89 d6 mov %rdx,%rsi
1a: 48 89 ca mov %rcx,%rdx
1d: 4d 89 c2 mov %r8,%r10
20: 4d 89 c8 mov %r9,%r8
23: 4c 8b 4c 24 08 mov 0x8(%rsp),%r9
28: 0f 05 syscall
2a:* 48 3d 01 f0 ff ff cmp $0xfffffffffffff001,%rax <-- trapping instruction
30: 73 01 jae 0x33
32: c3 retq
33: 48 8b 0d 07 6f 0c 00 mov 0xc6f07(%rip),%rcx # 0xc6f41
3a: f7 d8 neg %eax
3c: 64 89 01 mov %eax,%fs:(%rcx)
3f: 48 rex.W

Code starting with the faulting instruction
===========================================
0: 48 3d 01 f0 ff ff cmp $0xfffffffffffff001,%rax
6: 73 01 jae 0x9
8: c3 retq
9: 48 8b 0d 07 6f 0c 00 mov 0xc6f07(%rip),%rcx # 0xc6f17
10: f7 d8 neg %eax
12: 64 89 01 mov %eax,%fs:(%rcx)
15: 48 rex.W


To reproduce:

git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp install job.yaml # job file is attached in this email
bin/lkp split-job --compatible job.yaml
bin/lkp run compatible-job.yaml



---
0DAY/LKP+ Test Infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/[email protected] Intel Corporation

Thanks,
Oliver Sang


Attachments:
(No filename) (8.27 kB)
config-5.11.0-00041-gef72661e28c6 (175.85 kB)
job-script (6.29 kB)
dmesg.xz (18.64 kB)
job.yaml (5.35 kB)
Download all attachments

2021-03-09 14:03:32

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [sched] ef72661e28: WARNING:at_arch/x86/kernel/static_call.c:#__static_call_validate

On Tue, Mar 09, 2021 at 09:37:47PM +0800, kernel test robot wrote:
>
> Greeting,
>
> FYI, we noticed the following commit (built with gcc-9):
>
> commit: ef72661e28c64ad610f89acc2832ec67b27ba438 ("sched: Harden PREEMPT_DYNAMIC")
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master

Should be fixed by:

https://lkml.kernel.org/r/161459376868.20312.9858096297457613530.tip-bot2@tip-bot2