Greeting,
FYI, we noticed the following commit (built with gcc-9):
commit: 9bdd9a51056372b70798f2aeb6a175189b3fa52d ("NFS: Add a "tls=" NFS
mount option")
git://git.kernel.org/cgit/linux/kernel/git/cel/linux topic-rpc-with-tls-upcall
in testcase: kernel-selftests
version: kernel-selftests-x86_64-99d09ee9-1_20211206
with following parameters:
group: bpf
ucode: 0xde
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 1 sockets Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz with 32G
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 <oliver.sang(a)intel.com>
[ 61.239639][ T1256] WARNING: suspicious RCU usage
[ 61.244471][ T1256] 5.16.0-rc4-00012-g9bdd9a510563 #1 Tainted: G I
[ 61.251946][ T1256] -----------------------------
[ 61.256784][ T1256] net/sunrpc/clnt.c:2834 suspicious rcu_dereference_check() usage!
[ 61.264504][ T1256]
[ 61.264504][ T1256] other info that might help us debug this:
[ 61.264504][ T1256]
[ 61.274580][ T1256]
[ 61.274580][ T1256] rcu_scheduler_active = 2, debug_locks = 1
[ 61.282474][ T1256] no locks held by mount.nfs/1256.
[ 61.287432][ T1256]
[ 61.287432][ T1256] stack backtrace:
[ 61.293178][ T1256] CPU: 3 PID: 1256 Comm: mount.nfs Tainted: G I
5.16.0-rc4-00012-g9bdd9a510563 #1
[ 61.303446][ T1256] Hardware name: Dell Inc. OptiPlex 7050/062KRH, BIOS 1.2.0
12/22/2016
[ 61.311483][ T1256] Call Trace:
[ 61.314603][ T1256] <TASK>
[ 61.317382][ T1256] dump_stack_lvl (lib/dump_stack.c:107)
[ 61.321715][ T1256] rpc_starttls_sync (net/sunrpc/clnt.c:2834 (discriminator 7))
[ 61.326482][ T1256] ? rpc_call_sync (net/sunrpc/clnt.c:2833)
[ 61.331087][ T1256] ? rpc_new_client (include/trace/events/sunrpc.h:166
net/sunrpc/clnt.c:440)
[ 61.335849][ T1256] rpc_create_xprt (net/sunrpc/clnt.c:497)
[ 61.340434][ T1256] rpc_create (net/sunrpc/clnt.c:632)
[ 61.344589][ T1256] ? rpc_create_xprt (net/sunrpc/clnt.c:553)
[ 61.349351][ T1256] ? rcu_read_lock_bh_held (kernel/rcu/update.c:120)
[ 61.354453][ T1256] ? lock_is_held_type (kernel/locking/lockdep.c:438
kernel/locking/lockdep.c:5681)
[ 61.359302][ T1256] nfs_create_rpc_client (fs/nfs/client.c:552)
[ 61.364401][ T1256] ? lock_is_held_type (kernel/locking/lockdep.c:438
kernel/locking/lockdep.c:5681)
[ 61.369244][ T1256] ? nfs_mark_client_ready (fs/nfs/client.c:508)
[ 61.374352][ T1256] ? lockdep_init_map_type (kernel/locking/lockdep.c:4810)
[ 61.379629][ T1256] nfs4_alloc_client (fs/nfs/nfs4client.c:240) nfsv4
[ 61.385128][ T1256] ? nfs40_shutdown_client (fs/nfs/nfs4client.c:199) nfsv4
[ 61.390948][ T1256] ? rcu_read_lock_sched_held (include/linux/lockdep.h:283
kernel/rcu/update.c:125)
[ 61.396394][ T1256] ? rcu_read_lock_bh_held (kernel/rcu/update.c:120)
[ 61.401490][ T1256] ? rcu_read_lock_bh_held (kernel/rcu/update.c:120)
[ 61.406587][ T1256] ? find_held_lock (kernel/locking/lockdep.c:5130)
[ 61.411185][ T1256] ? lock_release (kernel/locking/lockdep.c:438
kernel/locking/lockdep.c:5659)
[ 61.415685][ T1256] ? lock_downgrade (kernel/locking/lockdep.c:5645)
[ 61.420353][ T1256] ? lock_downgrade (kernel/locking/lockdep.c:5645)
[ 61.425026][ T1256] ? rcu_read_lock_sched_held (kernel/rcu/update.c:306)
[ 61.430560][ T1256] nfs_get_client (fs/nfs/client.c:442)
[ 61.435171][ T1256] nfs4_set_client (fs/nfs/nfs4client.c:932) nfsv4
[ 61.440478][ T1256] ? nfs4_match_client (fs/nfs/nfs4client.c:900) nfsv4
[ 61.446140][ T1256] ? queue_work_node (kernel/workqueue.c:1641)
[ 61.450906][ T1256] ? do_init_timer (kernel/time/timer.c:798)
[ 61.455409][ T1256] nfs4_create_server (fs/nfs/nfs4client.c:1163
fs/nfs/nfs4client.c:1201) nfsv4
[ 61.460981][ T1256] ? try_module_get (kernel/module.c:1401)
[ 61.466165][ T1256] ? get_nfs_version (fs/nfs/client.c:114 (discriminator 1))
[ 61.470748][ T1256] ? preempt_count_sub (kernel/sched/core.c:5450
kernel/sched/core.c:5447 kernel/sched/core.c:5469)
[ 61.475677][ T1256] ? nfs4_server_common_setup (fs/nfs/nfs4client.c:1186) nfsv4
[ 61.481927][ T1256] ? try_module_get (kernel/module.c:1401)
[ 61.487114][ T1256] ? get_nfs_version (fs/nfs/client.c:114 (discriminator 1))
[ 61.491697][ T1256] ? nfs_fs_context_validate (fs/nfs/fs_context.c:1434)
[ 61.497232][ T1256] nfs4_try_get_tree (fs/nfs/nfs4super.c:226 (discriminator 3)) nfsv4
[ 61.502625][ T1256] vfs_get_tree (fs/super.c:1501)
[ 61.506861][ T1256] ? ns_capable_common (kernel/capability.c:375)
[ 61.511703][ T1256] path_mount (fs/namespace.c:2988 fs/namespace.c:3318)
[ 61.515942][ T1256] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4356)
[ 61.520959][ T1256] ? finish_automount (fs/namespace.c:3245)
[ 61.525802][ T1256] ? kmem_cache_free (mm/slub.c:1749 mm/slub.c:3513 mm/slub.c:3530)
[ 61.530563][ T1256] do_mount (fs/namespace.c:3331)
[ 61.534458][ T1256] ? path_mount (fs/namespace.c:3324)
[ 61.538957][ T1256] ? copy_mount_options (fs/namespace.c:3200)
[ 61.543892][ T1256] __x64_sys_mount (fs/namespace.c:3541 fs/namespace.c:3516
fs/namespace.c:3516)
[ 61.548484][ T1256] do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80)
[ 61.552728][ T1256] ? do_syscall_64 (arch/x86/entry/common.c:87)
[ 61.557157][ T1256] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4356)
[ 61.562178][ T1256] ? do_syscall_64 (arch/x86/entry/common.c:87)
[ 61.566599][ T1256] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4356)
[ 61.571616][ T1256] ? do_syscall_64 (arch/x86/entry/common.c:87)
[ 61.576026][ T1256] ? do_syscall_64 (arch/x86/entry/common.c:87)
[ 61.580438][ T1256] ? asm_exc_page_fault (arch/x86/include/asm/idtentry.h:568)
[ 61.585279][ T1256] ? asm_exc_page_fault (arch/x86/include/asm/idtentry.h:568)
[ 61.590032][ T1256] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4356)
[ 61.595046][ T1256] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:113)
[ 61.600749][ T1256] RIP: 0033:0x7f0d407d8fea
[ 61.604986][ T1256] Code: 48 8b 0d a9 0e 0c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f
84 00 00 00 00 00 0f 1f 44 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff
73 01 c3 48 8b 0d 76 0e 0c 00 f7 d8 64 89 01 48
All code
========
0: 48 8b 0d a9 0e 0c 00 mov 0xc0ea9(%rip),%rcx # 0xc0eb0
7: f7 d8 neg %eax
9: 64 89 01 mov %eax,%fs:(%rcx)
c: 48 83 c8 ff or $0xffffffffffffffff,%rax
10: c3 retq
11: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
18: 00 00 00
1b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
20: 49 89 ca mov %rcx,%r10
23: b8 a5 00 00 00 mov $0xa5,%eax
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 76 0e 0c 00 mov 0xc0e76(%rip),%rcx # 0xc0eb0
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 76 0e 0c 00 mov 0xc0e76(%rip),%rcx # 0xc0e86
10: f7 d8 neg %eax
12: 64 89 01 mov %eax,%fs:(%rcx)
15: 48 rex.W
[ 61.624290][ T1256] RSP: 002b:00007ffcf4516058 EFLAGS: 00000202 ORIG_RAX:
00000000000000a5
[ 61.632493][ T1256] RAX: ffffffffffffffda RBX: 00007ffcf45161b0 RCX: 00007f0d407d8fea
[ 61.640261][ T1256] RDX: 000055acebf33b50 RSI: 000055acebf33b70 RDI: 000055acebf35880
[ 61.648025][ T1256] RBP: 0000000000000000 R08: 000055acebf36370 R09: 000055acebf36960
[ 61.655792][ T1256] R10: 0000000000000000 R11: 0000000000000202 R12: 00007ffcf45161b0
[ 61.663558][ T1256] R13: 000055acebf36160 R14: 0000000000000010 R15: 00007ffcf45160c0
[ 61.671341][ T1256] </TASK>
[ 62.241100][ T443] result_service: raw_upload, RESULT_MNT:
/internal-lkp-server/result, RESULT_ROOT:
/internal-lkp-server/result/kernel-selftests/bpf-ucode=0xde/lkp-kbl-d01/debian-10.4-x86_64-20200603.cgz/x86_64-rhel-8.3-kselftests/gcc-9/9bdd9a51056372b70798f2aeb6a175189b3fa52d/3,
TMP_RESULT_ROOT: /tmp/lkp/result
[ 62.241115][ T443]
[ 62.274426][ T443] run-job
/lkp/jobs/scheduled/lkp-kbl-d01/kernel-selftests-bpf-ucode=0xde-debian-10.4-x86_64-20200603.cgz-9bdd9a51056372b70798f2aeb6a175189b3fa52d-20211211-57446-1srdis8-2.yaml
[ 62.274438][ T443]
[ 63.133122][ T443] /usr/bin/wget -q --timeout=1800 --tries=1 --local-encoding=UTF-8
http://internal-lkp-server:80/~lkp/cgi-bin/lkp-jobfile-append-var?job_fil...
-O /dev/null
[ 63.133150][ T443]
[ 63.167140][ T443] target ucode: 0xde
[ 63.167150][ T443]
[ 63.173817][ T443] current_version: de, target_version: de
[ 63.173826][ T443]
[ 63.184138][ T443] KERNEL SELFTESTS: linux_headers_dir is
/usr/src/linux-headers-x86_64-rhel-8.3-kselftests-9bdd9a51056372b70798f2aeb6a175189b3fa52d
[ 63.184148][ T443]
[ 120.130968][ T443] IPMI BMC is not supported on this machine, skip bmc-watchdog
setup!
[ 120.130988][ T443]
[ 122.174262][ T443] 2021-12-11 17:08:58 mount --bind
/lib/modules/5.16.0-rc4-00012-g9bdd9a510563/kernel/lib
/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-9bdd9a51056372b70798f2aeb6a175189b3fa52d/lib
[ 122.174283][ T443]
[ 122.209328][ T443] 2021-12-11 17:08:58 sed -i
s/default_timeout=45/default_timeout=300/ kselftest/runner.sh
[ 122.209341][ T443]
[ 122.673245][ T443] 2021-12-11 17:08:58 make -C ../../../tools/bpf/bpftool
[ 122.673266][ T443]
[ 122.685043][ T443] make: Entering directory
'/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-9bdd9a51056372b70798f2aeb6a175189b3fa52d/tools/bpf/bpftool'
[ 122.685055][ T443]
[ 122.761184][ T446] 7953412 blocks
[ 122.761198][ T446]
[ 124.007890][ T443]
[ 124.007902][ T443]
[ 124.012921][ T443] Auto-detecting system features:
[ 124.012930][ T443]
[ 124.020950][ T443]
[ 124.030616][ T443]
[ 124.040667][ T443]
[ 124.051349][ T443]
[ 124.062929][ T443]
[ 124.071672][ T443]
[ 124.071681][ T443]
[ 124.077027][ T443]
[ 124.085762][ T443]
[ 124.085770][ T443]
To reproduce:
git clone
https://github.com/intel/lkp-tests.git
cd lkp-tests
sudo bin/lkp install job.yaml # job file is attached in this email
bin/lkp split-job --compatible job.yaml # generate the yaml file for lkp run
sudo bin/lkp run generated-yaml-file
# 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/lkp@lists.01.org Intel Corporation
Thanks,
Oliver Sang