Greeting,
FYI, we noticed the following commit (built with gcc-9):
commit: 5fc11eebb4a98df5324a4de369bb5ab7f0007ff7 ("block: open code create_task_io_context in set_task_ioprio")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
in testcase: trinity
version: trinity-x86_64-608712d8-1_20211217
with following parameters:
runtime: 300s
group: group-03
test-description: Trinity is a linux system call fuzz tester.
test-url: http://codemonkey.org.uk/projects/trinity/
on test machine: qemu-system-x86_64 -enable-kvm -cpu Icelake-Server -smp 4 -m 16G
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]>
[ 199.732063][ T304]
[ 200.732109][ T304] [main] 2042923 iterations. [F:1789119 S:257831 HI:137772]
[ 200.732134][ T304]
[ 201.732199][ T304] [main] 2058410 iterations. [F:1802841 S:259626 HI:139072]
[ 201.732222][ T304]
[ 202.194980][ T3822] general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] SMP KASAN PTI
[ 202.199740][ T3822] KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
[ 202.203804][ T3822] CPU: 0 PID: 3822 Comm: trinity-c5 Not tainted 5.16.0-rc3-00106-g5fc11eebb4a9 #1
[ 202.207941][ T3822] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
[ 202.212006][ T3822] RIP: 0010:set_task_ioprio (kbuild/src/consumer/block/blk-ioc.c:307 kbuild/src/consumer/block/blk-ioc.c:271)
[ 202.215715][ T3822] Code: 3c 02 00 0f 85 63 01 00 00 4c 8b b3 e0 0c 00 00 4d 85 f6 74 67 48 b8 00 00 00 00 00 fc ff df 49 8d 7e 10 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 01 0f 8e 28 01 00 00 66 41 89 6e 10 4c
All code
========
0: 3c 02 cmp $0x2,%al
2: 00 0f add %cl,(%rdi)
4: 85 63 01 test %esp,0x1(%rbx)
7: 00 00 add %al,(%rax)
9: 4c 8b b3 e0 0c 00 00 mov 0xce0(%rbx),%r14
10: 4d 85 f6 test %r14,%r14
13: 74 67 je 0x7c
15: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
1c: fc ff df
1f: 49 8d 7e 10 lea 0x10(%r14),%rdi
23: 48 89 fa mov %rdi,%rdx
26: 48 c1 ea 03 shr $0x3,%rdx
2a:* 0f b6 04 02 movzbl (%rdx,%rax,1),%eax <-- trapping instruction
2e: 84 c0 test %al,%al
30: 74 08 je 0x3a
32: 3c 01 cmp $0x1,%al
34: 0f 8e 28 01 00 00 jle 0x162
3a: 66 41 89 6e 10 mov %bp,0x10(%r14)
3f: 4c rex.WR
Code starting with the faulting instruction
===========================================
0: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax
4: 84 c0 test %al,%al
6: 74 08 je 0x10
8: 3c 01 cmp $0x1,%al
a: 0f 8e 28 01 00 00 jle 0x138
10: 66 41 89 6e 10 mov %bp,0x10(%r14)
15: 4c rex.WR
[ 202.224166][ T3822] RSP: 0018:ffffc90000bb7ea0 EFLAGS: 00010202
[ 202.227972][ T3822] RAX: dffffc0000000000 RBX: ffff888161970000 RCX: ffff88813c9e60a0
[ 202.231988][ T3822] RDX: 0000000000000002 RSI: ffff88816cbeba50 RDI: 0000000000000010
[ 202.235967][ T3822] RBP: 0000000049e6748d R08: 0000000000000001 R09: 00000000800000cd
[ 202.239986][ T3822] R10: ffff888165a0c000 R11: fffff52000176f64 R12: 0000000000000000
[ 202.243894][ T3822] R13: ffff888161970c80 R14: 0000000000000000 R15: ffff888161970ce0
[ 202.247875][ T3822] FS: 00007f4487917740(0000) GS:ffff8883dd600000(0000) knlGS:0000000000000000
[ 202.251972][ T3822] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 202.255792][ T3822] CR2: 0000000000000001 CR3: 0000000111d46005 CR4: 0000000000370ef0
[ 202.259884][ T3822] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 202.264043][ T3822] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 202.268188][ T3822] Call Trace:
[ 202.271645][ T3822] <TASK>
[ 202.275242][ T3822] __x64_sys_ioprio_set (kbuild/src/consumer/block/ioprio.c:99 kbuild/src/consumer/block/ioprio.c:68 kbuild/src/consumer/block/ioprio.c:68)
[ 202.279213][ T3822] do_syscall_64 (kbuild/src/consumer/arch/x86/entry/common.c:50 kbuild/src/consumer/arch/x86/entry/common.c:80)
[ 202.282703][ T3822] entry_SYSCALL_64_after_hwframe (kbuild/src/consumer/arch/x86/entry/entry_64.S:113)
[ 202.286328][ T3822] RIP: 0033:0x7f4487a2ef59
[ 202.289794][ T3822] 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
[ 202.297968][ T3822] RSP: 002b:00007ffcbe0d2e88 EFLAGS: 00000246 ORIG_RAX: 00000000000000fb
[ 202.302094][ T3822] RAX: ffffffffffffffda RBX: 00000000000000fb RCX: 00007f4487a2ef59
[ 202.306071][ T3822] RDX: 000cce0d49e6748d RSI: 0000000000000000 RDI: 0000000000000002
[ 202.309972][ T3822] RBP: 00000000000000fb R08: 006663fb7a93f088 R09: 000000d002a1b7fa
[ 202.313922][ T3822] R10: 01448cd5553d0d0b R11: 0000000000000246 R12: 0000000000000002
[ 202.317885][ T3822] R13: 00007f4486398058 R14: 00007f44879176c0 R15: 00007f4486398000
[ 202.321930][ T3822] </TASK>
[ 202.325418][ T3822] Modules linked in: hidp bnep rfcomm bluetooth ecdh_generic ecc rfkill can_bcm can_raw can crypto_user ib_core nfnetlink scsi_transport_iscsi atm sctp ip6_udp_tunnel udp_tunnel libcrc32c sr_mod cdrom sg bochs drm_vram_helper ata_generic drm_ttm_helper intel_rapl_msr ttm ppdev intel_rapl_common drm_kms_helper crct10dif_pclmul crc32_pclmul syscopyarea crc32c_intel sysfillrect ata_piix ghash_clmulni_intel sysimgblt parport_pc fb_sys_fops ipmi_devintf joydev ipmi_msghandler drm libata parport serio_raw i2c_piix4 ip_tables
[ 202.347317][ T3822] ---[ end trace 1a338450ee2dcc21 ]---
[ 202.351377][ T3822] RIP: 0010:set_task_ioprio (kbuild/src/consumer/block/blk-ioc.c:307 kbuild/src/consumer/block/blk-ioc.c:271)
[ 202.355399][ T3822] Code: 3c 02 00 0f 85 63 01 00 00 4c 8b b3 e0 0c 00 00 4d 85 f6 74 67 48 b8 00 00 00 00 00 fc ff df 49 8d 7e 10 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 01 0f 8e 28 01 00 00 66 41 89 6e 10 4c
All code
========
0: 3c 02 cmp $0x2,%al
2: 00 0f add %cl,(%rdi)
4: 85 63 01 test %esp,0x1(%rbx)
7: 00 00 add %al,(%rax)
9: 4c 8b b3 e0 0c 00 00 mov 0xce0(%rbx),%r14
10: 4d 85 f6 test %r14,%r14
13: 74 67 je 0x7c
15: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
1c: fc ff df
1f: 49 8d 7e 10 lea 0x10(%r14),%rdi
23: 48 89 fa mov %rdi,%rdx
26: 48 c1 ea 03 shr $0x3,%rdx
2a:* 0f b6 04 02 movzbl (%rdx,%rax,1),%eax <-- trapping instruction
2e: 84 c0 test %al,%al
30: 74 08 je 0x3a
32: 3c 01 cmp $0x1,%al
34: 0f 8e 28 01 00 00 jle 0x162
3a: 66 41 89 6e 10 mov %bp,0x10(%r14)
3f: 4c rex.WR
Code starting with the faulting instruction
===========================================
0: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax
4: 84 c0 test %al,%al
6: 74 08 je 0x10
8: 3c 01 cmp $0x1,%al
a: 0f 8e 28 01 00 00 jle 0x138
10: 66 41 89 6e 10 mov %bp,0x10(%r14)
15: 4c rex.WR
[ 202.365062][ T3822] RSP: 0018:ffffc90000bb7ea0 EFLAGS: 00010202
[ 202.369287][ T3822] RAX: dffffc0000000000 RBX: ffff888161970000 RCX: ffff88813c9e60a0
[ 202.373596][ T3822] RDX: 0000000000000002 RSI: ffff88816cbeba50 RDI: 0000000000000010
[ 202.377890][ T3822] RBP: 0000000049e6748d R08: 0000000000000001 R09: 00000000800000cd
[ 202.382415][ T3822] R10: ffff888165a0c000 R11: fffff52000176f64 R12: 0000000000000000
[ 202.386872][ T3822] R13: ffff888161970c80 R14: 0000000000000000 R15: ffff888161970ce0
[ 202.391351][ T3822] FS: 00007f4487917740(0000) GS:ffff8883dd600000(0000) knlGS:0000000000000000
[ 202.395763][ T3822] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 202.399916][ T3822] CR2: 0000000000000001 CR3: 0000000111d46005 CR4: 0000000000370ef0
[ 202.404185][ T3822] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 202.408395][ T3822] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 202.412492][ T3822] Kernel panic - not syncing: Fatal exception
[ 203.531249][ T3822] Shutting down cpus with NMI
[ 203.535909][ T3822] Kernel Offset: 0x9a00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
Kboot worker: lkp-worker41
Elapsed time: 240
To reproduce:
# build kernel
cd linux
cp config-5.16.0-rc3-00106-g5fc11eebb4a9 .config
make HOSTCC=gcc-9 CC=gcc-9 ARCH=x86_64 olddefconfig prepare modules_prepare bzImage modules
make HOSTCC=gcc-9 CC=gcc-9 ARCH=x86_64 INSTALL_MOD_PATH=<mod-install-dir> modules_install
cd <mod-install-dir>
find lib/ | cpio -o -H newc --quiet | gzip > modules.cgz
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> -m modules.cgz job-script # job-script is attached in this email
# if come across any failure that blocks the test,
# please remove ~/.lkp and /lkp dir to run from a clean state.
---
0DAY/LKP+ Test Infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/[email protected] Intel Corporation
Thanks,
Oliver Sang