[riteshharjani:kfence-fix-patchv3] 855ac3c67d: BUG:kernel_NULL_pointer_dereference,address

[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: 855ac3c67d74dadc57431fafcf59497d22879bc0 ("memblock changes")
https://github.com/riteshharjani/linux kfence-fix-patchv3

in testcase: boot

config: x86_64-rhel-8.3
compiler: gcc-12
test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G

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


+---------------------------------------------+------------+------------+
|                                             | cc6765ead4 | 855ac3c67d |
+---------------------------------------------+------------+------------+
| BUG:kernel_NULL_pointer_dereference,address | 0          | 18         |
| Oops                                        | 0          | 18         |
| RIP:memmap_init                             | 0          | 18         |
| Kernel_panic-not_syncing:Fatal_exception    | 0          | 18         |
+---------------------------------------------+------------+------------+


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/202410202212.b63f1e37-oliver.sang@xxxxxxxxx


[    0.045566][    T0] BUG: kernel NULL pointer dereference, address: 00000000000000a0
[    0.046381][    T0] #PF: supervisor read access in kernel mode
[    0.047019][    T0] #PF: error_code(0x0000) - not-present page
[    0.047675][    T0] PGD 0 P4D 0
[    0.048035][    T0] Oops: Oops: 0000 [#1] SMP PTI
[    0.048560][    T0] CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 6.12.0-rc2-00018-g855ac3c67d74 #1
[    0.049578][    T0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[ 0.050714][ T0] RIP: 0010:memmap_init (mm/mm_init.c:952) 
[ 0.051288][ T0] Code: 63 d2 6a 01 6a 00 e8 62 8a b7 fd 5a 59 4c 39 e5 0f 82 c8 00 00 00 4c 89 f5 41 83 c7 01 48 81 c3 00 06 00 00 41 83 ff 05 74 49 <48> 83 bb a0 00 00 00 00 74 e5 48 8b 93 88 00 00 00 4c 8b 83 98 00
All code
========
   0:	63 d2                	movslq %edx,%edx
   2:	6a 01                	pushq  $0x1
   4:	6a 00                	pushq  $0x0
   6:	e8 62 8a b7 fd       	callq  0xfffffffffdb78a6d
   b:	5a                   	pop    %rdx
   c:	59                   	pop    %rcx
   d:	4c 39 e5             	cmp    %r12,%rbp
  10:	0f 82 c8 00 00 00    	jb     0xde
  16:	4c 89 f5             	mov    %r14,%rbp
  19:	41 83 c7 01          	add    $0x1,%r15d
  1d:	48 81 c3 00 06 00 00 	add    $0x600,%rbx
  24:	41 83 ff 05          	cmp    $0x5,%r15d
  28:	74 49                	je     0x73
  2a:*	48 83 bb a0 00 00 00 	cmpq   $0x0,0xa0(%rbx)		<-- trapping instruction
  31:	00 
  32:	74 e5                	je     0x19
  34:	48 8b 93 88 00 00 00 	mov    0x88(%rbx),%rdx
  3b:	4c                   	rex.WR
  3c:	8b                   	.byte 0x8b
  3d:	83                   	.byte 0x83
  3e:	98                   	cwtl   
	...

Code starting with the faulting instruction
===========================================
   0:	48 83 bb a0 00 00 00 	cmpq   $0x0,0xa0(%rbx)
   7:	00 
   8:	74 e5                	je     0xffffffffffffffef
   a:	48 8b 93 88 00 00 00 	mov    0x88(%rbx),%rdx
  11:	4c                   	rex.WR
  12:	8b                   	.byte 0x8b
  13:	83                   	.byte 0x83
  14:	98                   	cwtl   
	...
[    0.053312][    T0] RSP: 0000:ffffffff97e03db0 EFLAGS: 00010046
[    0.053951][    T0] RAX: ffffffffffffffff RBX: 0000000000000000 RCX: 000000000000009f
[    0.054709][    T0] RDX: ffffffff98f78840 RSI: 0000000000000000 RDI: 0000000000000001
[    0.055337][    T0] RBP: 0000000000000000 R08: ffffffff97e03dbc R09: ffffffff97e03db8
[    0.056136][    T0] R10: 0000000000000400 R11: ffffffff97e03dc0 R12: ffff9ed3fffc8dc0
[    0.056982][    T0] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[    0.057803][    T0] FS:  0000000000000000(0000) GS:ffffffff98981000(0000) knlGS:0000000000000000
[    0.058701][    T0] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.059394][    T0] CR2: 00000000000000a0 CR3: 000000006dc1e000 CR4: 00000000000000b0
[    0.060163][    T0] Call Trace:
[    0.060450][    T0]  <TASK>
[ 0.060723][ T0] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434) 
[ 0.061134][ T0] ? page_fault_oops (arch/x86/mm/fault.c:715) 
[ 0.061646][ T0] ? exc_page_fault (arch/x86/include/asm/irqflags.h:37 arch/x86/include/asm/irqflags.h:92 arch/x86/mm/fault.c:1489 arch/x86/mm/fault.c:1539) 
[ 0.062151][ T0] ? asm_exc_page_fault (arch/x86/include/asm/idtentry.h:623) 
[ 0.062699][ T0] ? memmap_init (mm/mm_init.c:952) 
[ 0.063176][ T0] ? free_area_init (include/linux/bitmap.h:446 include/linux/nodemask.h:241 include/linux/nodemask.h:438 mm/mm_init.c:646 mm/mm_init.c:1862) 
[ 0.063695][ T0] ? zone_sizes_init (arch/x86/mm/init.c:1008) 
[ 0.064168][ T0] ? setup_arch (arch/x86/kernel/setup.c:1132) 
[ 0.064550][ T0] ? start_kernel (init/main.c:927) 
[ 0.064974][ T0] ? x86_64_start_reservations (arch/x86/kernel/head64.c:495) 
[ 0.065489][ T0] ? x86_64_start_kernel (arch/x86/kernel/head64.c:437 (discriminator 5)) 
[ 0.065915][ T0] ? common_startup_64 (arch/x86/kernel/head_64.S:414) 
[    0.066436][    T0]  </TASK>
[    0.066737][    T0] Modules linked in:
[    0.067130][    T0] CR2: 00000000000000a0
[    0.067567][    T0] ---[ end trace 0000000000000000 ]---
[ 0.068122][ T0] RIP: 0010:memmap_init (mm/mm_init.c:952) 
[ 0.068647][ T0] Code: 63 d2 6a 01 6a 00 e8 62 8a b7 fd 5a 59 4c 39 e5 0f 82 c8 00 00 00 4c 89 f5 41 83 c7 01 48 81 c3 00 06 00 00 41 83 ff 05 74 49 <48> 83 bb a0 00 00 00 00 74 e5 48 8b 93 88 00 00 00 4c 8b 83 98 00
All code
========
   0:	63 d2                	movslq %edx,%edx
   2:	6a 01                	pushq  $0x1
   4:	6a 00                	pushq  $0x0
   6:	e8 62 8a b7 fd       	callq  0xfffffffffdb78a6d
   b:	5a                   	pop    %rdx
   c:	59                   	pop    %rcx
   d:	4c 39 e5             	cmp    %r12,%rbp
  10:	0f 82 c8 00 00 00    	jb     0xde
  16:	4c 89 f5             	mov    %r14,%rbp
  19:	41 83 c7 01          	add    $0x1,%r15d
  1d:	48 81 c3 00 06 00 00 	add    $0x600,%rbx
  24:	41 83 ff 05          	cmp    $0x5,%r15d
  28:	74 49                	je     0x73
  2a:*	48 83 bb a0 00 00 00 	cmpq   $0x0,0xa0(%rbx)		<-- trapping instruction
  31:	00 
  32:	74 e5                	je     0x19
  34:	48 8b 93 88 00 00 00 	mov    0x88(%rbx),%rdx
  3b:	4c                   	rex.WR
  3c:	8b                   	.byte 0x8b
  3d:	83                   	.byte 0x83
  3e:	98                   	cwtl   
	...

Code starting with the faulting instruction
===========================================
   0:	48 83 bb a0 00 00 00 	cmpq   $0x0,0xa0(%rbx)
   7:	00 
   8:	74 e5                	je     0xffffffffffffffef
   a:	48 8b 93 88 00 00 00 	mov    0x88(%rbx),%rdx
  11:	4c                   	rex.WR
  12:	8b                   	.byte 0x8b
  13:	83                   	.byte 0x83
  14:	98                   	cwtl   


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



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





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux