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]
Date:   Sun, 14 Feb 2021 22:53:57 +0800
From:   kernel test robot <oliver.sang@...el.com>
To:     Ira Weiny <ira.weiny@...el.com>
Cc:     Stephen Rothwell <sfr@...b.auug.org.au>,
        Prathu Baronia <prathu.baronia@...plus.com>,
        Thomas Gleixner <tglx@...utronix.de>,
        Matthew Wilcox <willy@...radead.org>,
        Peter Zijlstra <peterz@...radead.org>,
        Randy Dunlap <rdunlap@...radead.org>,
        Andrew Morton <akpm@...ux-foundation.org>,
        LKML <linux-kernel@...r.kernel.org>,
        Linux Memory Management List <linux-mm@...ck.org>,
        lkp@...ts.01.org, lkp@...el.com
Subject: [mm/highmem]  80abc4109f:
 WARNING:at_mm/highmem.c:#__kmap_local_sched_out


Greeting,

FYI, we noticed the following commit (built with gcc-9):

commit: 80abc4109f1d43bd0bcdd8a06fe50efd7589d4af ("mm/highmem: Remove deprecated kmap_atomic")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master


in testcase: rcuscale
version: 
with following parameters:

	runtime: 300s
	scale_type: tasks



on test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 8G

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):


+-------------------------------------------------+------------+------------+
|                                                 | bff8e91b53 | 80abc4109f |
+-------------------------------------------------+------------+------------+
| boot_successes                                  | 12         | 0          |
| boot_failures                                   | 0          | 12         |
| WARNING:at_mm/highmem.c:#__kmap_local_sched_out | 0          | 12         |
| EIP:__kmap_local_sched_out                      | 0          | 12         |
| EIP:wp_page_copy                                | 0          | 5          |
| WARNING:at_mm/highmem.c:#__kmap_local_sched_in  | 0          | 12         |
| EIP:__kmap_local_sched_in                       | 0          | 12         |
| EIP:do_fault                                    | 0          | 5          |
| EIP:prep_new_page                               | 0          | 1          |
+-------------------------------------------------+------------+------------+


If you fix the issue, kindly add following tag
Reported-by: kernel test robot <oliver.sang@...el.com>


[   27.158955] WARNING: CPU: 0 PID: 1 at mm/highmem.c:618 __kmap_local_sched_out (kbuild/src/consumer/mm/highmem.c:618 (discriminator 1)) 
[   27.162724] Modules linked in:
[   27.163644] CPU: 0 PID: 1 Comm: swapper Not tainted 5.11.0-rc7-00340-g80abc4109f1d #1
[   27.165696] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
[   27.167860] EIP: __kmap_local_sched_out (kbuild/src/consumer/mm/highmem.c:618 (discriminator 1)) 
[ 27.169123] Code: d1 8b 55 f0 29 c2 89 c8 c7 02 00 00 00 00 e8 57 dc ed ff 83 c3 01 83 c7 04 39 9e a4 16 00 00 7f b9 83 c4 04 5b 5e 5f 5d c3 90 <0f> 0b eb e5 8d b4 26 00 00 00 00 8d 74 26 00 90 55 89 e5 57 56 53
All code
========
   0:	d1 8b 55 f0 29 c2    	rorl   -0x3dd60fab(%rbx)
   6:	89 c8                	mov    %ecx,%eax
   8:	c7 02 00 00 00 00    	movl   $0x0,(%rdx)
   e:	e8 57 dc ed ff       	callq  0xffffffffffeddc6a
  13:	83 c3 01             	add    $0x1,%ebx
  16:	83 c7 04             	add    $0x4,%edi
  19:	39 9e a4 16 00 00    	cmp    %ebx,0x16a4(%rsi)
  1f:	7f b9                	jg     0xffffffffffffffda
  21:	83 c4 04             	add    $0x4,%esp
  24:	5b                   	pop    %rbx
  25:	5e                   	pop    %rsi
  26:	5f                   	pop    %rdi
  27:	5d                   	pop    %rbp
  28:	c3                   	retq   
  29:	90                   	nop
  2a:*	0f 0b                	ud2    		<-- trapping instruction
  2c:	eb e5                	jmp    0x13
  2e:	8d b4 26 00 00 00 00 	lea    0x0(%rsi,%riz,1),%esi
  35:	8d 74 26 00          	lea    0x0(%rsi,%riz,1),%esi
  39:	90                   	nop
  3a:	55                   	push   %rbp
  3b:	89 e5                	mov    %esp,%ebp
  3d:	57                   	push   %rdi
  3e:	56                   	push   %rsi
  3f:	53                   	push   %rbx

Code starting with the faulting instruction
===========================================
   0:	0f 0b                	ud2    
   2:	eb e5                	jmp    0xffffffffffffffe9
   4:	8d b4 26 00 00 00 00 	lea    0x0(%rsi,%riz,1),%esi
   b:	8d 74 26 00          	lea    0x0(%rsi,%riz,1),%esi
   f:	90                   	nop
  10:	55                   	push   %rbp
  11:	89 e5                	mov    %esp,%ebp
  13:	57                   	push   %rdi
  14:	56                   	push   %rsi
  15:	53                   	push   %rbx
[   27.173681] EAX: 00000000 EBX: 00000000 ECX: 00000002 EDX: 00000002
[   27.175281] ESI: c3db9b80 EDI: c3dbb228 EBP: c3d9fc4c ESP: c3d9fc3c
[   27.176875] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 EFLAGS: 00010046
[   27.178600] CR0: 80050033 CR2: 00000000 CR3: 02de2000 CR4: 000006d0
[   27.180195] Call Trace:
[   27.180963] __schedule (kbuild/src/consumer/kernel/sched/core.c:4098 kbuild/src/consumer/kernel/sched/core.c:4132 kbuild/src/consumer/kernel/sched/core.c:4279 kbuild/src/consumer/kernel/sched/core.c:5078) 
[   27.181990] ? preempt_schedule_irq (kbuild/src/consumer/arch/x86/include/asm/irqflags.h:54 kbuild/src/consumer/arch/x86/include/asm/irqflags.h:94 kbuild/src/consumer/kernel/sched/core.c:5339) 
[   27.183184] preempt_schedule_irq (kbuild/src/consumer/arch/x86/include/asm/irqflags.h:29 kbuild/src/consumer/arch/x86/include/asm/irqflags.h:79 kbuild/src/consumer/arch/x86/include/asm/irqflags.h:169 kbuild/src/consumer/kernel/sched/core.c:5341) 
[   27.184323] irqentry_exit_cond_resched (kbuild/src/consumer/kernel/entry/common.c:387) 
[   27.185599] irqentry_exit (kbuild/src/consumer/kernel/entry/common.c:417) 
[   27.186630] common_interrupt (kbuild/src/consumer/arch/x86/kernel/irq.c:239) 
[   27.187728] asm_common_interrupt (kbuild/src/consumer/arch/x86/include/asm/idtentry.h:620) 
[   27.188913] EIP: prep_new_page (kbuild/src/consumer/include/linux/string.h:432 kbuild/src/consumer/arch/x86/include/asm/page_32.h:39 kbuild/src/consumer/include/linux/highmem.h:203 kbuild/src/consumer/mm/page_alloc.c:1212 kbuild/src/consumer/mm/page_alloc.c:2301 kbuild/src/consumer/mm/page_alloc.c:2307) 
[ 27.190058] Code: 00 89 de d3 e0 01 d8 89 45 e8 8d 74 26 00 90 8b 15 4c f3 ce c2 89 f0 83 c6 20 81 e2 63 01 00 00 e8 aa 89 fe ff 8d 78 04 89 c1 <c7> 00 00 00 00 00 89 c2 c7 80 fc 0f 00 00 00 00 00 00 83 e7 fc 31
All code
========
   0:	00 89 de d3 e0 01    	add    %cl,0x1e0d3de(%rcx)
   6:	d8 89 45 e8 8d 74    	fmuls  0x748de845(%rcx)
   c:	26 00 90 8b 15 4c f3 	add    %dl,%es:-0xcb3ea75(%rax)
  13:	ce                   	(bad)  
  14:	c2 89 f0             	retq   $0xf089
  17:	83 c6 20             	add    $0x20,%esi
  1a:	81 e2 63 01 00 00    	and    $0x163,%edx
  20:	e8 aa 89 fe ff       	callq  0xfffffffffffe89cf
  25:	8d 78 04             	lea    0x4(%rax),%edi
  28:	89 c1                	mov    %eax,%ecx
  2a:*	c7 00 00 00 00 00    	movl   $0x0,(%rax)		<-- trapping instruction
  30:	89 c2                	mov    %eax,%edx
  32:	c7 80 fc 0f 00 00 00 	movl   $0x0,0xffc(%rax)
  39:	00 00 00 
  3c:	83 e7 fc             	and    $0xfffffffc,%edi
  3f:	31                   	.byte 0x31

Code starting with the faulting instruction
===========================================
   0:	c7 00 00 00 00 00    	movl   $0x0,(%rax)
   6:	89 c2                	mov    %eax,%edx
   8:	c7 80 fc 0f 00 00 00 	movl   $0x0,0xffc(%rax)
   f:	00 00 00 
  12:	83 e7 fc             	and    $0xfffffffc,%edi
  15:	31                   	.byte 0x31
[   27.194588] EAX: ffffb000 EBX: d778ee00 ECX: ffffb000 EDX: ffffb000
[   27.196181] ESI: d778ee20 EDI: ffffb004 EBP: c3d9fd38 ESP: c3d9fd20
[   27.197789] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 EFLAGS: 00010292
[   27.199507] ? prep_new_page (kbuild/src/consumer/include/linux/string.h:432 kbuild/src/consumer/arch/x86/include/asm/page_32.h:39 kbuild/src/consumer/include/linux/highmem.h:203 kbuild/src/consumer/mm/page_alloc.c:1212 kbuild/src/consumer/mm/page_alloc.c:2301 kbuild/src/consumer/mm/page_alloc.c:2307) 
[   27.200582] get_page_from_freelist (kbuild/src/consumer/mm/page_alloc.c:3952) 
[   27.201826] __alloc_pages_nodemask (kbuild/src/consumer/mm/page_alloc.c:4997) 
[   27.203062] __vmalloc_node_range (kbuild/src/consumer/include/linux/gfp.h:511 kbuild/src/consumer/mm/vmalloc.c:2576) 
[   27.204241] __vmalloc_node (kbuild/src/consumer/mm/vmalloc.c:2621) 
[   27.205267] ? e1000_setup_all_tx_resources (kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1505 kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1574) 
[   27.206657] vzalloc (kbuild/src/consumer/mm/vmalloc.c:2674) 
[   27.207564] ? e1000_setup_all_tx_resources (kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1505 kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1574) 
[   27.208914] e1000_setup_all_tx_resources (kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1505 kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1574) 
[   27.210259] e1000_open (kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1367) 
[   27.211241] ? call_netdevice_notifiers_info (kbuild/src/consumer/net/core/dev.c:2041) 
[   27.212598] __dev_open (kbuild/src/consumer/net/core/dev.c:1532) 
[   27.213599] __dev_change_flags (kbuild/src/consumer/net/core/dev.c:8479) 
[   27.214749] dev_change_flags (kbuild/src/consumer/net/core/dev.c:8550) 
[   27.215830] ip_auto_config (kbuild/src/consumer/net/ipv4/ipconfig.c:243 kbuild/src/consumer/net/ipv4/ipconfig.c:1475) 
[   27.216893] ? __this_cpu_preempt_check (kbuild/src/consumer/lib/smp_processor_id.c:71) 
[   27.218158] ? __this_cpu_preempt_check (kbuild/src/consumer/lib/smp_processor_id.c:71) 
[   27.219406] ? root_nfs_parse_addr (kbuild/src/consumer/net/ipv4/ipconfig.c:1438) 
[   27.220574] ? root_nfs_parse_addr (kbuild/src/consumer/net/ipv4/ipconfig.c:1438) 
[   27.221758] do_one_initcall (kbuild/src/consumer/init/main.c:1223) 
[   27.222836] ? debug_locks_off (kbuild/src/consumer/lib/debug_locks.c:47) 
[   27.223933] ? rcu_read_lock_sched_held (kbuild/src/consumer/include/linux/lockdep.h:271 kbuild/src/consumer/kernel/rcu/update.c:123) 
[   27.225196] ? trace_initcall_level (kbuild/src/consumer/include/trace/events/initcall.h:10 (discriminator 29)) 
[   27.226414] kernel_init_freeable (kbuild/src/consumer/init/main.c:1295 kbuild/src/consumer/init/main.c:1312 kbuild/src/consumer/init/main.c:1332 kbuild/src/consumer/init/main.c:1533) 
[   27.227593] ? rest_init (kbuild/src/consumer/init/main.c:1418) 
[   27.228612] kernel_init (kbuild/src/consumer/init/main.c:1423) 
[   27.229606] ret_from_fork (kbuild/src/consumer/arch/x86/entry/entry_32.S:856) 
[   27.230624] irq event stamp: 4311562
[   27.236869] hardirqs last enabled at (4311561): preempt_schedule_irq (kbuild/src/consumer/arch/x86/include/asm/irqflags.h:54 kbuild/src/consumer/arch/x86/include/asm/irqflags.h:94 kbuild/src/consumer/kernel/sched/core.c:5339) 
[   27.239077] hardirqs last disabled at (4311562): __schedule (kbuild/src/consumer/kernel/sched/core.c:4977 (discriminator 1)) 
[   27.241108] softirqs last enabled at (4311560): __do_softirq (kbuild/src/consumer/arch/x86/include/asm/preempt.h:26 kbuild/src/consumer/kernel/softirq.c:371) 
[   27.243189] softirqs last disabled at (4311553): do_softirq_own_stack (kbuild/src/consumer/arch/x86/kernel/irq_32.c:59 kbuild/src/consumer/arch/x86/kernel/irq_32.c:148) 
[   27.245393] ---[ end trace 00319dbec13fc731 ]---
[   27.246821] ------------[ cut here ]------------


To reproduce:

        # build kernel
	cd linux
	cp config-5.11.0-rc7-00340-g80abc4109f1d .config
	make HOSTCC=gcc-9 CC=gcc-9 ARCH=i386 olddefconfig prepare modules_prepare bzImage

        git clone https://github.com/intel/lkp-tests.git
        cd lkp-tests
        bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email



Thanks,
Oliver Sang


View attachment "config-5.11.0-rc7-00340-g80abc4109f1d" of type "text/plain" (150916 bytes)

View attachment "job-script" of type "text/plain" (4371 bytes)

Download attachment "dmesg.xz" of type "application/x-xz" (21144 bytes)

View attachment "rcuscale" of type "text/plain" (121 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ