lkml.org 
[lkml]   [2022]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [x86] 17cd1a8149: kernel_BUG_at_mm/page_table_check.c
On Wed, Jan 26, 2022 at 1:58 AM kernel test robot <oliver.sang@intel.com> wrote:
>
>
>
> Greeting,
>
> FYI, we noticed the following commit (built with gcc-9):
>
> commit: 17cd1a8149994ce2c0f49abbed2196626cb51011 ("x86: mm: add x86_64 support for page table check")
> url: https://github.com/0day-ci/linux/commits/Yang-Li/net-phy-micrel-use-min-macro-instead-of-doing-it-manually/20211224-171618
>
> in testcase: boot
>
> on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
>
> caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
>
>
> +------------------------------------------+------------+------------+
> | | a26c01367c | 17cd1a8149 |
> +------------------------------------------+------------+------------+
> | boot_successes | 48 | 0 |
> | boot_failures | 0 | 48 |
> | kernel_BUG_at_mm/page_table_check.c | 0 | 48 |
> | invalid_opcode:#[##] | 0 | 48 |
> | RIP:__page_table_check_zero | 0 | 48 |
> | Kernel_panic-not_syncing:Fatal_exception | 0 | 48 |
> +------------------------------------------+------------+------------+
>
>
> If you fix the issue, kindly add following tag
> Reported-by: kernel test robot <oliver.sang@intel.com>
>
>
> [ 9.414679][ T1] kernel BUG at mm/page_table_check.c:162!
> [ 9.415511][ T1] invalid opcode: 0000 [#1] SMP
> [ 9.416217][ T1] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.16.0-rc6-00149-g17cd1a814999 #1 145cbc68045d824db2e83a3e2291f7c16a59376c
> [ 9.417858][ T1] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
> [ 9.419117][ T1] RIP: 0010:__page_table_check_zero (mm/page_table_check.c:162 (discriminator 1))
> [ 9.419966][ T1] Code: 03 2d e6 ab 97 01 41 83 c4 01 41 83 fd 1f 0f 87 f8 f9 9c 00 45 39 e6 7f 9b 48 83 c4 08 5b 5d 41 5c 41 5d 41 5e 41 5f c3 0f 0b <0f> 0b 0f 0b cc cc cc cc cc cc 48 8b 07 48 89 06 31 c0 c3 0f 1f 80
> All code
> ========
> 0: 03 2d e6 ab 97 01 add 0x197abe6(%rip),%ebp # 0x197abec
> 6: 41 83 c4 01 add $0x1,%r12d
> a: 41 83 fd 1f cmp $0x1f,%r13d
> e: 0f 87 f8 f9 9c 00 ja 0x9cfa0c
> 14: 45 39 e6 cmp %r12d,%r14d
> 17: 7f 9b jg 0xffffffffffffffb4
> 19: 48 83 c4 08 add $0x8,%rsp
> 1d: 5b pop %rbx
> 1e: 5d pop %rbp
> 1f: 41 5c pop %r12
> 21: 41 5d pop %r13
> 23: 41 5e pop %r14
> 25: 41 5f pop %r15
> 27: c3 retq
> 28: 0f 0b ud2
> 2a:* 0f 0b ud2 <-- trapping instruction
> 2c: 0f 0b ud2
> 2e: cc int3
> 2f: cc int3
> 30: cc int3
> 31: cc int3
> 32: cc int3
> 33: cc int3
> 34: 48 8b 07 mov (%rdi),%rax
> 37: 48 89 06 mov %rax,(%rsi)
> 3a: 31 c0 xor %eax,%eax
> 3c: c3 retq
> 3d: 0f .byte 0xf
> 3e: 1f (bad)
> 3f: 80 .byte 0x80
>
> Code starting with the faulting instruction
> ===========================================
> 0: 0f 0b ud2
> 2: 0f 0b ud2
> 4: cc int3
> 5: cc int3
> 6: cc int3
> 7: cc int3
> 8: cc int3
> 9: cc int3
> a: 48 8b 07 mov (%rdi),%rax
> d: 48 89 06 mov %rax,(%rsi)
> 10: 31 c0 xor %eax,%eax
> 12: c3 retq
> 13: 0f .byte 0xf
> 14: 1f (bad)
> 15: 80 .byte 0x80
> [ 9.422517][ T1] RSP: 0000:ffffc9000022bce0 EFLAGS: 00010202
> [ 9.423342][ T1] RAX: 0000000000000000 RBX: 0000000000000001 RCX: 0000000000000000
> [ 9.424457][ T1] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffffff82ebedc8
> [ 9.425596][ T1] RBP: ffff888101819790 R08: 0000000000000000 R09: 000000000004007e
> [ 9.426731][ T1] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
> [ 9.427859][ T1] R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000000
> [ 9.429002][ T1] FS: 0000000000000000(0000) GS:ffff88842fc00000(0000) knlGS:0000000000000000
> [ 9.430271][ T1] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 9.431156][ T1] CR2: 00000000ffc6c3db CR3: 0000000002861000 CR4: 00000000000406f0
> [ 9.432278][ T1] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [ 9.433406][ T1] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> [ 9.434514][ T1] Call Trace:
> [ 9.435019][ T1] <TASK>
> [ 9.435489][ T1] free_pcp_prepare (include/linux/page_table_check.h:43 mm/page_alloc.c:1351 mm/page_alloc.c:1424)
> [ 9.436171][ T1] ? lock_is_held_type (kernel/locking/lockdep.c:5380 kernel/locking/lockdep.c:5680)
> [ 9.436873][ T1] free_unref_page (mm/page_alloc.c:3323 mm/page_alloc.c:3402)
> [ 9.437558][ T1] destroy_args (mm/debug_vm_pgtable.c:1046)
> [ 9.438202][ T1] debug_vm_pgtable (mm/debug_vm_pgtable.c:1332)
> [ 9.438902][ T1] ? init_args (mm/debug_vm_pgtable.c:1238)

This problem is fixed by this patch:
https://lore.kernel.org/all/20220126060514.1574935-2-pasha.tatashin@soleen.com

\
 
 \ /
  Last update: 2022-01-26 13:30    [W:0.032 / U:0.936 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site