Re: [PATCH 6/6] nfsd: add nfsd_file_acquire_local().

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hello,

kernel test robot noticed "BUG:kernel_NULL_pointer_dereference,address" on:

commit: 23fc4a797ca65dbe32393093e546c23c0cf278c1 ("[PATCH 6/6] nfsd: add nfsd_file_acquire_local().")
url: https://github.com/intel-lab-lkp/linux/commits/NeilBrown/nfsd-introduce-__fh_verify-which-takes-explicit-nfsd_net-arg/20240701-122856
base: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git 22a40d14b572deb80c0648557f4bd502d7e83826
patch link: https://lore.kernel.org/all/20240701025802.22985-7-neilb@xxxxxxx/
patch subject: [PATCH 6/6] nfsd: add nfsd_file_acquire_local().

in testcase: filebench
version: filebench-x86_64-22620e6-1_20240224
with following parameters:

	disk: 1HDD
	fs: btrfs
	fs2: nfsv4
	test: singlestreamwritedirect.f
	cpufreq_governor: performance



compiler: gcc-13
test machine: 128 threads 2 sockets Intel(R) Xeon(R) Platinum 8358 CPU @ 2.60GHz (Ice Lake) with 128G 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/202407041659.c2371438-oliver.sang@xxxxxxxxx


[   35.440736][ T2585] BUG: kernel NULL pointer dereference, address: 0000000000000010
[   35.449115][ T2585] #PF: supervisor read access in kernel mode
[   35.455679][ T2585] #PF: error_code(0x0000) - not-present page
[   35.461966][ T2585] PGD 0
[   35.465163][ T2585] Oops: Oops: 0000 [#1] SMP NOPTI
[   35.470524][ T2585] CPU: 40 PID: 2585 Comm: nfsd Tainted: G S                 6.10.0-rc6-00006-g23fc4a797ca6 #1
[   35.481056][ T2585] Hardware name: Intel Corporation M50CYP2SB1U/M50CYP2SB1U, BIOS SE5C620.86B.01.01.0003.2104260124 04/26/2021
[ 35.493034][ T2585] RIP: 0010:nfsexp_flags (fs/nfsd/auth.c:14) nfsd
[ 35.499118][ T2585] Code: 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 66 0f 1f 00 0f 1f 44 00 00 8b 56 78 48 8d 46 7c 48 8d 14 d0 48 39 d0 73 1a <8b> 4f 10 eb 09 48 83 c0 08 48 39 d0 73 0c 39 08 75 f3 8b 40 04 c3
All code
========
   0:	00 90 90 90 90 90    	add    %dl,-0x6f6f6f70(%rax)
   6:	90                   	nop
   7:	90                   	nop
   8:	90                   	nop
   9:	90                   	nop
   a:	90                   	nop
   b:	90                   	nop
   c:	90                   	nop
   d:	90                   	nop
   e:	90                   	nop
   f:	90                   	nop
  10:	90                   	nop
  11:	66 0f 1f 00          	nopw   (%rax)
  15:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  1a:	8b 56 78             	mov    0x78(%rsi),%edx
  1d:	48 8d 46 7c          	lea    0x7c(%rsi),%rax
  21:	48 8d 14 d0          	lea    (%rax,%rdx,8),%rdx
  25:	48 39 d0             	cmp    %rdx,%rax
  28:	73 1a                	jae    0x44
  2a:*	8b 4f 10             	mov    0x10(%rdi),%ecx		<-- trapping instruction
  2d:	eb 09                	jmp    0x38
  2f:	48 83 c0 08          	add    $0x8,%rax
  33:	48 39 d0             	cmp    %rdx,%rax
  36:	73 0c                	jae    0x44
  38:	39 08                	cmp    %ecx,(%rax)
  3a:	75 f3                	jne    0x2f
  3c:	8b 40 04             	mov    0x4(%rax),%eax
  3f:	c3                   	retq   

Code starting with the faulting instruction
===========================================
   0:	8b 4f 10             	mov    0x10(%rdi),%ecx
   3:	eb 09                	jmp    0xe
   5:	48 83 c0 08          	add    $0x8,%rax
   9:	48 39 d0             	cmp    %rdx,%rax
   c:	73 0c                	jae    0x1a
   e:	39 08                	cmp    %ecx,(%rax)
  10:	75 f3                	jne    0x5
  12:	8b 40 04             	mov    0x4(%rax),%eax
  15:	c3                   	retq   
[   35.519118][ T2585] RSP: 0018:ffa000000b48fb18 EFLAGS: 00010283
[   35.525649][ T2585] RAX: ff11001086c8d47c RBX: 0000000000000000 RCX: 0000000000000000
[   35.534071][ T2585] RDX: ff11001086c8d484 RSI: ff11001086c8d400 RDI: 0000000000000000
[   35.542422][ T2585] RBP: ff11001086c8d400 R08: 0000000000000000 R09: ff11000128adb500
[   35.550760][ T2585] R10: ffa000000b48fc00 R11: ff11000154660160 R12: ff11000154660000
[   35.559184][ T2585] R13: ff11001086c8d400 R14: ff11001086cb7800 R15: 0000000000008000
[   35.567487][ T2585] FS:  0000000000000000(0000) GS:ff11002000200000(0000) knlGS:0000000000000000
[   35.576800][ T2585] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   35.583895][ T2585] CR2: 0000000000000010 CR3: 000000207de1c002 CR4: 0000000000771ef0
[   35.592300][ T2585] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   35.600610][ T2585] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[   35.609052][ T2585] PKRU: 55555554
[   35.612962][ T2585] Call Trace:
[   35.616640][ T2585]  <TASK>
[ 35.620001][ T2585] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434) 
[ 35.624224][ T2585] ? page_fault_oops (arch/x86/mm/fault.c:715) 
[ 35.629458][ T2585] ? exc_page_fault (arch/x86/include/asm/irqflags.h:37 arch/x86/include/asm/irqflags.h:72 arch/x86/mm/fault.c:1489 arch/x86/mm/fault.c:1539) 
[ 35.634666][ T2585] ? asm_exc_page_fault (arch/x86/include/asm/idtentry.h:623) 
[ 35.640019][ T2585] ? nfsexp_flags (fs/nfsd/auth.c:14) nfsd
[ 35.645521][ T2585] nfsd_setuser_and_check_port (fs/nfsd/nfsfh.c:109) nfsd
[ 35.652274][ T2585] __fh_verify (fs/nfsd/nfsfh.c:372) nfsd
[ 35.657656][ T2585] nfsd_file_do_acquire (fs/nfsd/filecache.c:997) nfsd
[ 35.663821][ T2585] nfsd_file_acquire_opened (fs/nfsd/filecache.c:1235 (discriminator 1)) nfsd
[ 35.670245][ T2585] nfs4_get_vfs_file (fs/nfsd/nfs4state.c:5557) nfsd
[ 35.676256][ T2585] nfsd4_process_open2 (fs/nfsd/nfs4state.c:6098) nfsd
[ 35.682411][ T2585] nfsd4_open (fs/nfsd/nfs4proc.c:624) nfsd
[ 35.687758][ T2585] nfsd4_proc_compound (fs/nfsd/nfs4proc.c:2776) nfsd
[ 35.693946][ T2585] nfsd_dispatch (fs/nfsd/nfssvc.c:1004) nfsd
[ 35.699460][ T2585] svc_process_common (net/sunrpc/svc.c:1391) 
[ 35.704884][ T2585] ? __pfx_nfsd_dispatch (fs/nfsd/nfssvc.c:961) nfsd
[ 35.711172][ T2585] svc_process (net/sunrpc/svc.c:1537 (discriminator 1)) 
[ 35.715880][ T2585] svc_handle_xprt (net/sunrpc/svc_xprt.c:831) 
[ 35.721128][ T2585] svc_recv (include/linux/sunrpc/bc_xprt.h:40 net/sunrpc/svc_xprt.c:892) 
[ 35.725731][ T2585] ? __pfx_nfsd (fs/nfsd/nfssvc.c:910) nfsd
[ 35.731143][ T2585] nfsd (fs/nfsd/nfssvc.c:939) nfsd
[ 35.735821][ T2585] kthread (kernel/kthread.c:389) 
[ 35.740131][ T2585] ? __pfx_kthread (kernel/kthread.c:342) 
[ 35.745176][ T2585] ret_from_fork (arch/x86/kernel/process.c:147) 
[ 35.750004][ T2585] ? __pfx_kthread (kernel/kthread.c:342) 
[ 35.754945][ T2585] ret_from_fork_asm (arch/x86/entry/entry_64.S:257) 
[   35.760136][ T2585]  </TASK>
[   35.763428][ T2585] Modules linked in: rpcsec_gss_krb5 nfsv4 dns_resolver nfsd auth_rpcgss device_dax(+) nd_pmem nd_btt dax_pmem btrfs blake2b_generic xor raid6_pq libcrc32c intel_rapl_msr intel_rapl_common x86_pkg_temp_thermal intel_powerclamp sd_mod coretemp t10_pi crc64_rocksoft_generic crc64_rocksoft crc64 kvm_intel sg kvm crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel sha512_ssse3 rapl ahci ast libahci acpi_power_meter intel_cstate ipmi_ssif mei_me drm_shmem_helper intel_th_gth intel_th_pci ioatdma i2c_i801 intel_uncore dax_hmem libata drm_kms_helper ipmi_si acpi_ipmi mei i2c_smbus intel_pch_thermal intel_th wmi dca nfit ipmi_devintf libnvdimm ipmi_msghandler acpi_pad joydev binfmt_misc drm fuse loop dm_mod ip_tables
[   35.830582][ T2585] CR2: 0000000000000010
[   35.835241][ T2585] ---[ end trace 0000000000000000 ]---
[   35.849208][ T2585] pstore: backend (erst) writing error (-28)
[ 35.855581][ T2585] RIP: 0010:nfsexp_flags (fs/nfsd/auth.c:14) nfsd
[ 35.861704][ T2585] Code: 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 66 0f 1f 00 0f 1f 44 00 00 8b 56 78 48 8d 46 7c 48 8d 14 d0 48 39 d0 73 1a <8b> 4f 10 eb 09 48 83 c0 08 48 39 d0 73 0c 39 08 75 f3 8b 40 04 c3
All code
========
   0:	00 90 90 90 90 90    	add    %dl,-0x6f6f6f70(%rax)
   6:	90                   	nop
   7:	90                   	nop
   8:	90                   	nop
   9:	90                   	nop
   a:	90                   	nop
   b:	90                   	nop
   c:	90                   	nop
   d:	90                   	nop
   e:	90                   	nop
   f:	90                   	nop
  10:	90                   	nop
  11:	66 0f 1f 00          	nopw   (%rax)
  15:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  1a:	8b 56 78             	mov    0x78(%rsi),%edx
  1d:	48 8d 46 7c          	lea    0x7c(%rsi),%rax
  21:	48 8d 14 d0          	lea    (%rax,%rdx,8),%rdx
  25:	48 39 d0             	cmp    %rdx,%rax
  28:	73 1a                	jae    0x44
  2a:*	8b 4f 10             	mov    0x10(%rdi),%ecx		<-- trapping instruction
  2d:	eb 09                	jmp    0x38
  2f:	48 83 c0 08          	add    $0x8,%rax
  33:	48 39 d0             	cmp    %rdx,%rax
  36:	73 0c                	jae    0x44
  38:	39 08                	cmp    %ecx,(%rax)
  3a:	75 f3                	jne    0x2f
  3c:	8b 40 04             	mov    0x4(%rax),%eax
  3f:	c3                   	retq   

Code starting with the faulting instruction
===========================================
   0:	8b 4f 10             	mov    0x10(%rdi),%ecx
   3:	eb 09                	jmp    0xe
   5:	48 83 c0 08          	add    $0x8,%rax
   9:	48 39 d0             	cmp    %rdx,%rax
   c:	73 0c                	jae    0x1a
   e:	39 08                	cmp    %ecx,(%rax)
  10:	75 f3                	jne    0x5
  12:	8b 40 04             	mov    0x4(%rax),%eax
  15:	c3                   	retq   


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



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





[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux