lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202406121525.65264f68-oliver.sang@intel.com>
Date: Wed, 12 Jun 2024 15:45:41 +0800
From: kernel test robot <oliver.sang@...el.com>
To: Christian Brauner <brauner@...nel.org>
CC: <oe-lkp@...ts.linux.dev>, <lkp@...el.com>, Christian Brauner
	<christianvanbrauner@...il.com>, <linux-fsdevel@...r.kernel.org>,
	<linux-kernel@...r.kernel.org>, <oliver.sang@...el.com>
Subject: [brauner-vfs:vfs.open_tree] [fs]  6d2ad41f48:
 BUG:kernel_NULL_pointer_dereference,address



Hello,

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

commit: 6d2ad41f48768f325a552666b71724bc40ba52c3 ("fs: allow updating idmappings")
https://git.kernel.org/cgit/linux/kernel/git/vfs/vfs.git vfs.open_tree

in testcase: boot

compiler: clang-18
test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G

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


+---------------------------------------------+------------+------------+
|                                             | 2c673193e1 | 6d2ad41f48 |
+---------------------------------------------+------------+------------+
| BUG:kernel_NULL_pointer_dereference,address | 0          | 6          |
| Oops                                        | 0          | 6          |
| RIP:mnt_idmap_put                           | 0          | 6          |
| Kernel_panic-not_syncing:Fatal_exception    | 0          | 6          |
+---------------------------------------------+------------+------------+


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@...el.com>
| Closes: https://lore.kernel.org/oe-lkp/202406121525.65264f68-oliver.sang@intel.com


[   15.358677][  T206] BUG: kernel NULL pointer dereference, address: 0000000000000090
[   15.359960][  T206] #PF: supervisor write access in kernel mode
[   15.360932][  T206] #PF: error_code(0x0002) - not-present page
[   15.361897][  T206] PGD 0 P4D 0
[   15.362470][  T206] Oops: Oops: 0002 [#1] SMP PTI
[   15.363270][  T206] CPU: 0 PID: 206 Comm: (crub_all) Not tainted 6.10.0-rc1-00007-g6d2ad41f4876 #1
[   15.364699][  T206] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[ 15.366361][ T206] RIP: 0010:mnt_idmap_put (arch/x86/include/asm/atomic.h:93 include/linux/atomic/atomic-arch-fallback.h:949 include/linux/atomic/atomic-instrumented.h:401 include/linux/refcount.h:264 include/linux/refcount.h:307 include/linux/refcount.h:325 fs/mnt_idmapping.c:315) 
[ 15.367186][ T206] Code: 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 48 81 ff e8 37 c8 88 74 26 b8 ff ff ff ff <f0> 0f c1 87 90 00 00 00 83 f8 01 75 12 53 83 3f 06 73 14 83 7f 48
All code
========
   0:	1f                   	(bad)  
   1:	84 00                	test   %al,(%rax)
   3:	00 00                	add    %al,(%rax)
   5:	00 00                	add    %al,(%rax)
   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:	90                   	nop
  12:	90                   	nop
  13:	90                   	nop
  14:	90                   	nop
  15:	90                   	nop
  16:	90                   	nop
  17:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  1c:	48 81 ff e8 37 c8 88 	cmp    $0xffffffff88c837e8,%rdi
  23:	74 26                	je     0x4b
  25:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
  2a:*	f0 0f c1 87 90 00 00 	lock xadd %eax,0x90(%rdi)		<-- trapping instruction
  31:	00 
  32:	83 f8 01             	cmp    $0x1,%eax
  35:	75 12                	jne    0x49
  37:	53                   	push   %rbx
  38:	83 3f 06             	cmpl   $0x6,(%rdi)
  3b:	73 14                	jae    0x51
  3d:	83                   	.byte 0x83
  3e:	7f 48                	jg     0x88

Code starting with the faulting instruction
===========================================
   0:	f0 0f c1 87 90 00 00 	lock xadd %eax,0x90(%rdi)
   7:	00 
   8:	83 f8 01             	cmp    $0x1,%eax
   b:	75 12                	jne    0x1f
   d:	53                   	push   %rbx
   e:	83 3f 06             	cmpl   $0x6,(%rdi)
  11:	73 14                	jae    0x27
  13:	83                   	.byte 0x83
  14:	7f 48                	jg     0x5e
[   15.370213][  T206] RSP: 0018:ffffa44d80513e20 EFLAGS: 00010217
[   15.371181][  T206] RAX: 00000000ffffffff RBX: ffff95d25d031800 RCX: ffff95d25d031858
[   15.372426][  T206] RDX: 0000000010000040 RSI: 0000000010000041 RDI: 0000000000000000
[   15.373695][  T206] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000003
[   15.374968][  T206] R10: 0000000000000018 R11: 0000000000000002 R12: 0000000000000000
[   15.376229][  T206] R13: ffff95d25d031820 R14: ffffa44d80513e70 R15: ffff95d25d031800
[   15.377492][  T206] FS:  00007fd6818e7940(0000) GS:ffff95d52fc00000(0000) knlGS:0000000000000000
[   15.378934][  T206] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   15.379980][  T206] CR2: 0000000000000090 CR3: 000000015d008000 CR4: 00000000000406f0
[   15.382019][  T206] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   15.383918][  T206] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[   15.385811][  T206] Call Trace:
[   15.387072][  T206]  <TASK>
[ 15.388218][ T206] ? __die_body (arch/x86/kernel/dumpstack.c:421) 
[ 15.389618][ T206] ? page_fault_oops (arch/x86/mm/fault.c:711) 
[ 15.391056][ T206] ? 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) 
[ 15.392444][ T206] ? asm_exc_page_fault (arch/x86/include/asm/idtentry.h:623) 
[ 15.393938][ T206] ? mnt_idmap_put (arch/x86/include/asm/atomic.h:93 include/linux/atomic/atomic-arch-fallback.h:949 include/linux/atomic/atomic-instrumented.h:401 include/linux/refcount.h:264 include/linux/refcount.h:307 include/linux/refcount.h:325 fs/mnt_idmapping.c:315) 
[ 15.395356][ T206] do_mount_setattr (fs/namespace.c:4388 fs/namespace.c:4528 fs/namespace.c:4607) 
[ 15.396817][ T206] __se_sys_mount_setattr (fs/namespace.c:4826 fs/namespace.c:4749) 
[ 15.398325][ T206] do_syscall_64 (arch/x86/entry/common.c:?) 
[ 15.399628][ T206] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) 
[   15.401168][  T206] RIP: 0033:0x7fd68245ad6a
[ 15.402449][ T206] Code: 73 01 c3 48 8b 0d 96 80 0c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 49 89 ca b8 ba 01 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 66 80 0c 00 f7 d8 64 89 01 48
All code
========
   0:	73 01                	jae    0x3
   2:	c3                   	retq   
   3:	48 8b 0d 96 80 0c 00 	mov    0xc8096(%rip),%rcx        # 0xc80a0
   a:	f7 d8                	neg    %eax
   c:	64 89 01             	mov    %eax,%fs:(%rcx)
   f:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
  13:	c3                   	retq   
  14:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  1b:	00 00 00 
  1e:	66 90                	xchg   %ax,%ax
  20:	49 89 ca             	mov    %rcx,%r10
  23:	b8 ba 01 00 00       	mov    $0x1ba,%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 66 80 0c 00 	mov    0xc8066(%rip),%rcx        # 0xc80a0
  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 66 80 0c 00 	mov    0xc8066(%rip),%rcx        # 0xc8076
  10:	f7 d8                	neg    %eax
  12:	64 89 01             	mov    %eax,%fs:(%rcx)
  15:	48                   	rex.W


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20240612/202406121525.65264f68-oliver.sang@intel.com



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


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ