[LTP] mm/mremap.c : WARNING: at mm/mremap.c:211 move_page_tables+0x5b0/0x5d0

Naresh Kamboju naresh.kamboju@linaro.org
Thu Apr 2 21:26:57 CEST 2020


On Thu, 2 Apr 2020 at 19:08, Kirill A. Shutemov <kirill@shutemov.name> wrote:
>
> On Thu, Apr 02, 2020 at 04:49:02PM +0530, Naresh Kamboju wrote:
> > While running LTP mm thp01 test case on i386 kernel running on x86_64 device
> > the following kernel warning was noticed multiple times.
> >
>
> Interesting. I suspect it's related to 2-level page tables in this
> configuration. But I cannot immediately see how.
>
> Could you test if enabling HIGHMEM64 fixes the issue?

CONFIG_HIGHMEM64G=y

>
> Below is patch that prints some additional info:

Applied your patch and reproduced the problem,
The boot log show this warning,

[    0.261879] ************************************************************
[    0.261880] ** WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!  **
[    0.261881] **                                                        **
[    0.261881] ** You are using 32-bit PTI on a 64-bit PCID-capable CPU. **
[    0.261882] ** Your performance will increase dramatically if you     **
[    0.261882] ** switch to a 64-bit kernel!                             **
[    0.261883] **                                                        **
[    0.261884] ** WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!  **
[    0.261884] ************************************************************
...

Reproducing steps:
------------------------
cd /opt/ltp
./runltp -f mm

[  734.485672] ------------[ cut here ]------------
[  734.490306] WARNING: CPU: 3 PID: 32321 at mm/mremap.c:212
move_page_tables+0x7c3/0x830
[  734.498212] Modules linked in: x86_pkg_temp_thermal
[  734.503084] CPU: 3 PID: 32321 Comm: true Tainted: G        W
 5.6.2-rc1+ #14
[  734.510729] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.2 05/23/2018
[  734.518110] EIP: move_page_tables+0x7c3/0x830
[  734.522463] Code: 0c eb a7 8d 45 d8 83 4d e8 01 e8 c8 e6 01 00 e9
be f8 ff ff 8d 45 d8 31 d2 e8 59 e8 01 00 e9 a5 fc ff ff 31 db e9 81
fc ff ff <0f> 0b 8b 45 b8 e8 43 e0 fe ff ff 75 b0 ff 75 08 ff 75 cc 68
e4 50
[  734.541200] EAX: eb5f1fe8 EBX: 00400000 ECX: 2b5f1001 EDX: 2b5f1000
[  734.547456] ESI: ea5d6010 EDI: eb5f1ff0 EBP: da381e14 ESP: da381d84
[  734.553714] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00010202
[  734.560492] CR0: 80050033 CR2: b7d11f50 CR3: 2a5d6000 CR4: 003406f0
[  734.566748] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[  734.573006] DR6: fffe0ff0 DR7: 00000400
[  734.576835] Call Trace:
[  734.579282]  setup_arg_pages+0x22c/0x350
[  734.583207]  ? strlcpy+0x33/0x50
[  734.586459]  load_elf_binary+0x352/0x1010
[  734.590468]  ? selinux_inode_permission+0xe5/0x1f0
[  734.595254]  search_binary_handler+0x77/0x1a0
[  734.599614]  __do_execve_file+0x5aa/0x710
[  734.603615]  sys_execve+0x21/0x30
[  734.606926]  do_fast_syscall_32+0x75/0x260
[  734.611019]  entry_SYSENTER_32+0xa5/0xf8
[  734.614942] EIP: 0xb7ef6c11
[  734.617735] Code: Bad RIP value.
[  734.620956] EAX: ffffffda EBX: bfb8dcb0 ECX: 08069420 EDX: bfb8df14
[  734.627238] ESI: 080599d4 EDI: bfb8dcb9 EBP: bfb8dd58 ESP: bfb8dc88
[  734.633499] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b EFLAGS: 00000296
[  734.640276] ---[ end trace e625d4d55b8380f3 ]---
[  734.644934] vma dbc4c180 start bf801000 end c0000000
[  734.644934] next 00000000 prev 00000000 mm d0d75d40
[  734.644934] prot 25 anon_vma d0dfddc8 vm_ops 00000000
[  734.644934] pgoff bfa01 file 00000000 private_data 00000000
[  734.644934] flags:
0x118173(read|write|mayread|maywrite|mayexec|growsdown|seqread|randread|account)
[  734.674346] old_addr: 0xbfc00000, new_addr: 0xbfa00000, old_end: 0xc0000000
[  734.681322] old_pmd: 0x77923067
[  734.681322] new_pmd: 0x7796d067
[  734.684510] ------------[ cut here ]------------
[  734.692295] WARNING: CPU: 2 PID: 32321 at mm/mremap.c:212
move_page_tables+0x7c3/0x830
[  734.700241] Modules linked in: x86_pkg_temp_thermal
[  734.705128] CPU: 2 PID: 32321 Comm: true Tainted: G        W
 5.6.2-rc1+ #14
[  734.712770] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.2 05/23/2018
[  734.720156] EIP: move_page_tables+0x7c3/0x830
[  734.724506] Code: 0c eb a7 8d 45 d8 83 4d e8 01 e8 c8 e6 01 00 e9
be f8 ff ff 8d 45 d8 31 d2 e8 59 e8 01 00 e9 a5 fc ff ff 31 db e9 81
fc ff ff <0f> 0b 8b 45 b8 e8 43 e0 fe ff ff 75 b0 ff 75 08 ff 75 cc 68
e4 50
[  734.743256] EAX: eb5f1ff0 EBX: 00200000 ECX: 2b5f1001 EDX: 2b5f1000
[  734.749517] ESI: ea5d6010 EDI: eb5f1ff8 EBP: da381e14 ESP: da381d84
[  734.755776] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00010202
[  734.762553] CR0: 80050033 CR2: b7f1f4e0 CR3: 2a5d6000 CR4: 003406f0
[  734.768808] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[  734.775067] DR6: fffe0ff0 DR7: 00000400
[  734.778898] Call Trace:
[  734.781344]  setup_arg_pages+0x22c/0x350
[  734.785269]  ? strlcpy+0x33/0x50
[  734.788499]  load_elf_binary+0x352/0x1010
[  734.792503]  ? selinux_inode_permission+0xe5/0x1f0
[  734.797287]  search_binary_handler+0x77/0x1a0
[  734.801639]  __do_execve_file+0x5aa/0x710
[  734.805642]  sys_execve+0x21/0x30
[  734.808953]  do_fast_syscall_32+0x75/0x260
[  734.813045]  entry_SYSENTER_32+0xa5/0xf8
[  734.816959] EIP: 0xb7ef6c11
[  734.819752] Code: Bad RIP value.
[  734.822976] EAX: ffffffda EBX: bfb8dcb0 ECX: 08069420 EDX: bfb8df14
[  734.829261] ESI: 080599d4 EDI: bfb8dcb9 EBP: bfb8dd58 ESP: bfb8dc88
[  734.835525] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b EFLAGS: 00000296
[  734.842302] ---[ end trace e625d4d55b8380f4 ]---
[  734.846940] vma dbc4c180 start bf801000 end c0000000
[  734.846940] next 00000000 prev 00000000 mm d0d75d40
[  734.846940] prot 25 anon_vma d0dfddc8 vm_ops 00000000
[  734.846940] pgoff bfa01 file 00000000 private_data 00000000
[  734.846940] flags:
0x118173(read|write|mayread|maywrite|mayexec|growsdown|seqread|randread|account)
[  734.876355] old_addr: 0xbfe00000, new_addr: 0xbfc00000, old_end: 0xc0000000
[  734.883316] old_pmd: 0x77a08067


Full test log,
https://lkft.validation.linaro.org/scheduler/job/1334357#L478

- Naresh


More information about the ltp mailing list