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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 17 Mar 2021 10:37:57 +0800
From:   kernel test robot <oliver.sang@...el.com>
To:     Minchan Kim <minchan@...nel.org>
Cc:     0day robot <lkp@...el.com>,
        Chris Goldsworthy <cgoldswo@...eaurora.org>,
        LKML <linux-kernel@...r.kernel.org>, lkp@...ts.01.org,
        Andrew Morton <akpm@...ux-foundation.org>,
        linux-mm <linux-mm@...ck.org>, joaodias@...gle.com,
        surenb@...gle.com, willy@...radead.org, mhocko@...e.com,
        david@...hat.com, vbabka@...e.cz, linux-fsdevel@...r.kernel.org,
        Minchan Kim <minchan@...nel.org>
Subject: [mm]  8fd8d23ab1: WARNING:at_fs/buffer.c:#__brelse



Greeting,

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

commit: 8fd8d23ab10cc2fceeac25ea7b0e2eaf98e78d64 ("[PATCH v3 3/3] mm: fs: Invalidate BH LRU during page migration")
url: https://github.com/0day-ci/linux/commits/Minchan-Kim/mm-replace-migrate_prep-with-lru_add_drain_all/20210311-001714
base: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git 144c79ef33536b4ecb4951e07dbc1f2b7fa99d32

in testcase: blktests
version: blktests-x86_64-a210761-1_20210124
with following parameters:

	test: nbd-group-01
	ucode: 0xe2



on test machine: 4 threads Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz with 32G memory

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



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


[   40.465061] WARNING: CPU: 2 PID: 5207 at fs/buffer.c:1177 __brelse (kbuild/src/consumer/fs/buffer.c:1177 kbuild/src/consumer/fs/buffer.c:1171) 
[   40.465066] Modules linked in: nbd loop xfs libcrc32c dm_multipath dm_mod ipmi_devintf ipmi_msghandler sd_mod t10_pi sg intel_rapl_msr intel_rapl_common x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel rapl i915 mei_wdt intel_cstate wmi_bmof intel_gtt drm_kms_helper syscopyarea ahci intel_uncore sysfillrect sysimgblt libahci fb_sys_fops drm libata mei_me mei intel_pch_thermal wmi video intel_pmc_core acpi_pad ip_tables
[   40.465086] CPU: 2 PID: 5207 Comm: mount_clear_soc Tainted: G          I       5.12.0-rc2-00062-g8fd8d23ab10c #1
[   40.465088] Hardware name: Dell Inc. OptiPlex 7040/0Y7WYT, BIOS 1.1.1 10/07/2015
[   40.465089] RIP: 0010:__brelse (kbuild/src/consumer/fs/buffer.c:1177 kbuild/src/consumer/fs/buffer.c:1171) 
[ 40.465091] Code: 00 00 00 00 00 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 8b 47 60 85 c0 74 05 f0 ff 4f 60 c3 48 c7 c7 d8 99 57 82 e8 02 5d 80 00 <0f> 0b c3 0f 1f 44 00 00 55 65 ff 05 13 79 c8 7e 53 48 c7 c3 c0 89
All code
========
   0:	00 00                	add    %al,(%rax)
   2:	00 00                	add    %al,(%rax)
   4:	00 0f                	add    %cl,(%rdi)
   6:	1f                   	(bad)  
   7:	84 00                	test   %al,(%rax)
   9:	00 00                	add    %al,(%rax)
   b:	00 00                	add    %al,(%rax)
   d:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  12:	8b 47 60             	mov    0x60(%rdi),%eax
  15:	85 c0                	test   %eax,%eax
  17:	74 05                	je     0x1e
  19:	f0 ff 4f 60          	lock decl 0x60(%rdi)
  1d:	c3                   	retq   
  1e:	48 c7 c7 d8 99 57 82 	mov    $0xffffffff825799d8,%rdi
  25:	e8 02 5d 80 00       	callq  0x805d2c
  2a:*	0f 0b                	ud2    		<-- trapping instruction
  2c:	c3                   	retq   
  2d:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  32:	55                   	push   %rbp
  33:	65 ff 05 13 79 c8 7e 	incl   %gs:0x7ec87913(%rip)        # 0x7ec8794d
  3a:	53                   	push   %rbx
  3b:	48                   	rex.W
  3c:	c7                   	.byte 0xc7
  3d:	c3                   	retq   
  3e:	c0                   	.byte 0xc0
  3f:	89                   	.byte 0x89

Code starting with the faulting instruction
===========================================
   0:	0f 0b                	ud2    
   2:	c3                   	retq   
   3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
   8:	55                   	push   %rbp
   9:	65 ff 05 13 79 c8 7e 	incl   %gs:0x7ec87913(%rip)        # 0x7ec87923
  10:	53                   	push   %rbx
  11:	48                   	rex.W
  12:	c7                   	.byte 0xc7
  13:	c3                   	retq   
  14:	c0                   	.byte 0xc0
  15:	89                   	.byte 0x89
[   40.465092] RSP: 0018:ffffc90000138fa8 EFLAGS: 00010086
[   40.465094] RAX: 0000000000000000 RBX: ffff888871d289c0 RCX: 0000000000000027
[   40.465095] RDX: 0000000000000027 RSI: 0000000000000002 RDI: ffff888871d177f8
[   40.465096] RBP: ffff888871d28a40 R08: ffff888871d177f0 R09: ffffc90000138f40
[   40.465096] R10: 0000000000000001 R11: ffffc90000138ff8 R12: ffff888871d312c0
[   40.465097] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[   40.465098] FS:  0000000000000000(0000) GS:ffff888871d00000(0000) knlGS:0000000000000000
[   40.465099] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   40.465100] CR2: 00007f99690c38a0 CR3: 000000087020a001 CR4: 00000000003706e0
[   40.465101] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   40.465102] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[   40.465102] Call Trace:
[   40.465104]  <IRQ>
[   40.465104] invalidate_bh_lru (kbuild/src/consumer/fs/buffer.c:1427) 
[   40.465107] flush_smp_call_function_queue (kbuild/src/consumer/kernel/smp.c:247 kbuild/src/consumer/kernel/smp.c:396) 
[   40.465111] __sysvec_call_function (kbuild/src/consumer/arch/x86/include/asm/jump_label.h:25 kbuild/src/consumer/include/linux/jump_label.h:200 kbuild/src/consumer/arch/x86/include/asm/trace/irq_vectors.h:93 kbuild/src/consumer/arch/x86/kernel/smp.c:240) 
[   40.465113] sysvec_call_function (kbuild/src/consumer/arch/x86/kernel/smp.c:234 (discriminator 14)) 
[   40.465116]  </IRQ>
[   40.465116] asm_sysvec_call_function (kbuild/src/consumer/arch/x86/include/asm/idtentry.h:641) 
[   40.465119] RIP: 0010:console_unlock (kbuild/src/consumer/kernel/printk/printk.c:2586) 
[ 40.465121] Code: ff 85 c0 0f 85 3a ff ff ff e8 04 f6 ff ff 85 c0 0f 85 06 fd ff ff e9 28 ff ff ff e8 92 2b 00 00 48 85 ed 74 01 fb 8b 44 24 14 <85> c0 0f 84 39 fd ff ff 31 d2 be 1b 0a 00 00 48 c7 c7 e3 41 55 82
All code
========
   0:	ff 85 c0 0f 85 3a    	incl   0x3a850fc0(%rbp)
   6:	ff                   	(bad)  
   7:	ff                   	(bad)  
   8:	ff                   	(bad)  
   9:	e8 04 f6 ff ff       	callq  0xfffffffffffff612
   e:	85 c0                	test   %eax,%eax
  10:	0f 85 06 fd ff ff    	jne    0xfffffffffffffd1c
  16:	e9 28 ff ff ff       	jmpq   0xffffffffffffff43
  1b:	e8 92 2b 00 00       	callq  0x2bb2
  20:	48 85 ed             	test   %rbp,%rbp
  23:	74 01                	je     0x26
  25:	fb                   	sti    
  26:	8b 44 24 14          	mov    0x14(%rsp),%eax
  2a:*	85 c0                	test   %eax,%eax		<-- trapping instruction
  2c:	0f 84 39 fd ff ff    	je     0xfffffffffffffd6b
  32:	31 d2                	xor    %edx,%edx
  34:	be 1b 0a 00 00       	mov    $0xa1b,%esi
  39:	48 c7 c7 e3 41 55 82 	mov    $0xffffffff825541e3,%rdi

Code starting with the faulting instruction
===========================================
   0:	85 c0                	test   %eax,%eax
   2:	0f 84 39 fd ff ff    	je     0xfffffffffffffd41
   8:	31 d2                	xor    %edx,%edx
   a:	be 1b 0a 00 00       	mov    $0xa1b,%esi
   f:	48 c7 c7 e3 41 55 82 	mov    $0xffffffff825541e3,%rdi
[   40.465122] RSP: 0018:ffffc900077d7be0 EFLAGS: 00000206
[   40.465124] RAX: 0000000000000000 RBX: ffffffff8356c2ac RCX: 0000000000000000
[   40.465124] RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffffffff8356e738
[   40.465125] RBP: 0000000000000200 R08: 0000000000000001 R09: 0000000000000019
[   40.465126] R10: 000000000000072d R11: 000000002d2d2d2d R12: ffffffff8356e738
[   40.465126] R13: 0000000000000000 R14: 0000000000000034 R15: 0000000000000000
[   40.465129] vprintk_emit (kbuild/src/consumer/arch/x86/include/asm/preempt.h:85 kbuild/src/consumer/kernel/printk/printk.c:2099) 
[   40.465130] ? release_pages (kbuild/src/consumer/mm/swap.c:983) 
[   40.465132] printk (kbuild/src/consumer/kernel/printk/printk.c:2150) 
[   40.465135] __warn_printk (kbuild/src/consumer/kernel/panic.c:646) 
[   40.465137] __brelse (kbuild/src/consumer/fs/buffer.c:1177 kbuild/src/consumer/fs/buffer.c:1171) 
[   40.465138] invalidate_bh_lru (kbuild/src/consumer/fs/buffer.c:1427) 
[   40.465140] lru_add_drain (kbuild/src/consumer/mm/swap.c:725) 
[   40.465141] exit_mmap (kbuild/src/consumer/mm/mmap.c:3215) 
[   40.465144] ? filename_lookup (kbuild/src/consumer/fs/namei.c:2465) 
[   40.465146] ? __cond_resched (kbuild/src/consumer/kernel/sched/core.c:6990) 
[   40.465148] mmput (kbuild/src/consumer/kernel/fork.c:1083 kbuild/src/consumer/kernel/fork.c:1103) 
[   40.465149] do_exit (kbuild/src/consumer/arch/x86/include/asm/bitops.h:207 kbuild/src/consumer/include/asm-generic/bitops/instrumented-non-atomic.h:135 kbuild/src/consumer/include/linux/thread_info.h:104 kbuild/src/consumer/kernel/exit.c:502 kbuild/src/consumer/kernel/exit.c:812) 
[   40.465152] ? do_user_addr_fault (kbuild/src/consumer/arch/x86/include/asm/jump_label.h:25 kbuild/src/consumer/include/linux/jump_label.h:200 kbuild/src/consumer/include/linux/mmap_lock.h:41 kbuild/src/consumer/include/linux/mmap_lock.h:144 kbuild/src/consumer/arch/x86/mm/fault.c:1414) 
[   40.465154] do_group_exit (kbuild/src/consumer/include/linux/list.h:282 kbuild/src/consumer/include/linux/sched/signal.h:684 kbuild/src/consumer/kernel/exit.c:907) 
[   40.465156] __x64_sys_exit_group (kbuild/src/consumer/kernel/exit.c:933) 
[   40.465159] do_syscall_64 (kbuild/src/consumer/arch/x86/entry/common.c:46) 
[   40.465160] entry_SYSCALL_64_after_hwframe (kbuild/src/consumer/arch/x86/entry/entry_64.S:112) 
[   40.465162] RIP: 0033:0x7f9968fcc9d6
[ 40.465164] Code: Unable to access opcode bytes at RIP 0x7f9968fcc9ac.

Code starting with the faulting instruction
===========================================


To reproduce:

        git clone https://github.com/intel/lkp-tests.git
        cd lkp-tests
        bin/lkp install                job.yaml  # job file is attached in this email
        bin/lkp split-job --compatible job.yaml
        bin/lkp run                    compatible-job.yaml



---
0DAY/LKP+ Test Infrastructure                   Open Source Technology Center
https://lists.01.org/hyperkitty/list/lkp@lists.01.org       Intel Corporation

Thanks,
Oliver Sang


View attachment "config-5.12.0-rc2-00062-g8fd8d23ab10c" of type "text/plain" (172899 bytes)

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

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

View attachment "blktests" of type "text/plain" (1409 bytes)

View attachment "job.yaml" of type "text/plain" (4866 bytes)

View attachment "reproduce" of type "text/plain" (85 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ