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]
Message-ID: <202304170945.28aa41a0-oliver.sang@intel.com>
Date:   Mon, 17 Apr 2023 10:18:37 +0800
From:   kernel test robot <oliver.sang@...el.com>
To:     Hannes Reinecke <hare@...e.de>
CC:     <oe-lkp@...ts.linux.dev>, <lkp@...el.com>,
        <linux-fsdevel@...r.kernel.org>,
        Pankaj Raghav <p.raghav@...sung.com>,
        Matthew Wilcox <willy@...radead.org>,
        <linux-kernel@...r.kernel.org>, <mcgrof@...nel.org>,
        Hannes Reinecke <hare@...e.de>
Subject: Re: [PATCH] mm/filemap: allocate folios according to the blocksize


Hello,

kernel test robot noticed "WARNING:at_include/linux/pagemap.h:#split_huge_page_to_list" on:

commit: 3f1c33c25c31221a7a27d302ce6aac8e9b71edbb ("[PATCH] mm/filemap: allocate folios according to the blocksize")
url: https://github.com/intel-lab-lkp/linux/commits/Hannes-Reinecke/mm-filemap-allocate-folios-according-to-the-blocksize/20230414-215648
base: v6.3-rc6
patch link: https://lore.kernel.org/all/20230414134908.103932-1-hare@suse.de/
patch subject: [PATCH] mm/filemap: allocate folios according to the blocksize

in testcase: xfstests
version: xfstests-x86_64-a7df89e-1_20230410
with following parameters:

	disk: 4HDD
	fs: ext4
	fs2: smbv3
	test: generic-group-28



compiler: gcc-11
test machine: 8 threads Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (Skylake) with 16G memory

(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>
| Link: https://lore.kernel.org/oe-lkp/202304170945.28aa41a0-oliver.sang@intel.com


[   96.792002][ T3511] ------------[ cut here ]------------
[ 96.797305][ T3511] WARNING: CPU: 3 PID: 3511 at include/linux/pagemap.h:344 split_huge_page_to_list (include/linux/pagemap.h:344 mm/huge_memory.c:2767) 
[   96.807438][ T3511] Modules linked in: loop cmac nls_utf8 cifs cifs_arc4 cifs_md4 dns_resolver dm_mod btrfs blake2b_generic xor intel_rapl_msr raid6_pq intel_rapl_common zstd_compress libcrc32c x86_pkg_temp_thermal intel_powerclamp coretemp sd_mod t10_pi kvm_intel crc64_rocksoft_generic i915 kvm crc64_rocksoft crc64 irqbypass crct10dif_pclmul sg crc32_pclmul ipmi_devintf crc32c_intel ipmi_msghandler drm_buddy ghash_clmulni_intel intel_gtt sha512_ssse3 drm_display_helper drm_kms_helper mei_wdt syscopyarea ahci rapl sysfillrect mei_me intel_cstate libahci sysimgblt wmi_bmof video intel_uncore serio_raw libata mei intel_pch_thermal ttm intel_pmc_core wmi acpi_pad tpm_infineon drm fuse ip_tables
[   96.868429][ T3511] CPU: 3 PID: 3511 Comm: xfs_io Not tainted 6.3.0-rc6-00001-g3f1c33c25c31 #1
[   96.877009][ T3511] Hardware name: HP HP Z240 SFF Workstation/802E, BIOS N51 Ver. 01.63 10/05/2017
[ 96.885923][ T3511] RIP: 0010:split_huge_page_to_list (include/linux/pagemap.h:344 mm/huge_memory.c:2767) 
[ 96.891989][ T3511] Code: 89 f2 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 80 3c 02 00 0f 85 31 02 00 00 49 8b 84 24 98 00 00 00 a8 40 0f 85 f6 fe ff ff <0f> 0b e9 ef fe ff ff 81 e6 60 ec 0b 00 a9 00 00 04 00 44 0f 45 ee
All code
========
   0:	89 f2                	mov    %esi,%edx
   2:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
   9:	fc ff df 
   c:	48 c1 ea 03          	shr    $0x3,%rdx
  10:	80 3c 02 00          	cmpb   $0x0,(%rdx,%rax,1)
  14:	0f 85 31 02 00 00    	jne    0x24b
  1a:	49 8b 84 24 98 00 00 	mov    0x98(%r12),%rax
  21:	00 
  22:	a8 40                	test   $0x40,%al
  24:	0f 85 f6 fe ff ff    	jne    0xffffffffffffff20
  2a:*	0f 0b                	ud2    		<-- trapping instruction
  2c:	e9 ef fe ff ff       	jmpq   0xffffffffffffff20
  31:	81 e6 60 ec 0b 00    	and    $0xbec60,%esi
  37:	a9 00 00 04 00       	test   $0x40000,%eax
  3c:	44 0f 45 ee          	cmovne %esi,%r13d

Code starting with the faulting instruction
===========================================
   0:	0f 0b                	ud2    
   2:	e9 ef fe ff ff       	jmpq   0xfffffffffffffef6
   7:	81 e6 60 ec 0b 00    	and    $0xbec60,%esi
   d:	a9 00 00 04 00       	test   $0x40000,%eax
  12:	44 0f 45 ee          	cmovne %esi,%r13d
[   96.911358][ T3511] RSP: 0018:ffffc9000420f9d8 EFLAGS: 00010046
[   96.917253][ T3511] RAX: 0000000000000000 RBX: 1ffff92000841f43 RCX: ffffffff8192f43e
[   96.925040][ T3511] RDX: 1ffff11084ce792a RSI: 0000000000000008 RDI: ffff88842673c950
[   96.932836][ T3511] RBP: ffffea0005796700 R08: 0000000000000000 R09: ffff88842673c957
[   96.940625][ T3511] R10: ffffed1084ce792a R11: 0000000000000001 R12: ffff88842673c8b8
[   96.948419][ T3511] R13: 0000000000000000 R14: ffff88842673c950 R15: ffffea0005796700
[   96.956211][ T3511] FS:  00007f83d8bdc800(0000) GS:ffff8883cf580000(0000) knlGS:0000000000000000
[   96.964956][ T3511] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   96.971364][ T3511] CR2: 00007f83d8bdaef8 CR3: 000000013f57e006 CR4: 00000000003706e0
[   96.979162][ T3511] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   96.986958][ T3511] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[   96.994758][ T3511] Call Trace:
[   96.997888][ T3511]  <TASK>
[ 97.000679][ T3511] ? can_split_folio (mm/huge_memory.c:2646) 
[ 97.005455][ T3511] ? __filemap_get_folio (arch/x86/include/asm/bitops.h:138 arch/x86/include/asm/bitops.h:144 include/asm-generic/bitops/instrumented-lock.h:58 include/linux/pagemap.h:915 include/linux/pagemap.h:951 mm/filemap.c:1936) 
[ 97.010578][ T3511] ? zero_user_segments (include/linux/highmem.h:282) 
[ 97.016651][ T3511] truncate_inode_partial_folio (mm/truncate.c:243) 
[ 97.022376][ T3511] truncate_inode_pages_range (mm/truncate.c:380) 
[ 97.027928][ T3511] ? folio_add_lru (arch/x86/include/asm/preempt.h:85 mm/swap.c:518) 
[ 97.032358][ T3511] ? truncate_inode_partial_folio (mm/truncate.c:332) 
[ 97.038261][ T3511] ? policy_node (include/linux/nodemask.h:266 mm/mempolicy.c:1869) 
[ 97.042604][ T3511] ? __cond_resched (kernel/sched/core.c:8489) 
[ 97.047115][ T3511] ? down_read (arch/x86/include/asm/atomic64_64.h:34 include/linux/atomic/atomic-long.h:41 include/linux/atomic/atomic-instrumented.h:1280 kernel/locking/rwsem.c:176 kernel/locking/rwsem.c:181 kernel/locking/rwsem.c:249 kernel/locking/rwsem.c:1249 kernel/locking/rwsem.c:1263 kernel/locking/rwsem.c:1522) 
[ 97.051372][ T3511] ? rwsem_down_read_slowpath (kernel/locking/rwsem.c:1518) 
[ 97.056924][ T3511] ? SMB2_set_eof (fs/cifs/smb2pdu.c:5197) cifs
[ 97.062103][ T3511] ? up_read (arch/x86/include/asm/atomic64_64.h:160 include/linux/atomic/atomic-long.h:71 include/linux/atomic/atomic-instrumented.h:1318 kernel/locking/rwsem.c:1347 kernel/locking/rwsem.c:1616) 
[ 97.066015][ T3511] ? unmap_mapping_range (mm/memory.c:3541) 
[ 97.071051][ T3511] ? __do_fault (mm/memory.c:3541) 
[ 97.075387][ T3511] ? _raw_spin_lock (arch/x86/include/asm/atomic.h:202 include/linux/atomic/atomic-instrumented.h:543 include/asm-generic/qspinlock.h:111 include/linux/spinlock.h:186 include/linux/spinlock_api_smp.h:134 kernel/locking/spinlock.c:154) 
[ 97.079896][ T3511] ? __do_fault (mm/memory.c:3541) 
[ 97.084234][ T3511] ? zero_user_segments+0x19e/0x240 cifs
[ 97.090958][ T3511] truncate_pagecache (mm/truncate.c:744) 
[ 97.095638][ T3511] smb3_simple_falloc+0xcbf/0x1840 cifs
[ 97.101834][ T3511] ? smb3_fiemap (fs/cifs/smb2ops.c:3587) cifs
[ 97.106919][ T3511] ? __do_sys_clone (kernel/fork.c:2812) 
[ 97.111433][ T3511] ? __do_sys_vfork (kernel/fork.c:2812) 
[ 97.115948][ T3511] vfs_fallocate (fs/open.c:324) 
[ 97.120381][ T3511] __x64_sys_fallocate (include/linux/file.h:44 fs/open.c:348 fs/open.c:355 fs/open.c:353 fs/open.c:353) 
[ 97.125238][ T3511] do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80) 
[ 97.129490][ T3511] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120) 
[   97.135206][ T3511] RIP: 0033:0x7f83d8f5d647
[ 97.139454][ T3511] Code: 89 7c 24 08 48 89 4c 24 18 e8 55 07 f9 ff 4c 8b 54 24 18 48 8b 54 24 10 41 89 c0 8b 74 24 0c 8b 7c 24 08 b8 1d 01 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 89 44 24 08 e8 85 07 f9 ff 8b 44
All code
========
   0:	89 7c 24 08          	mov    %edi,0x8(%rsp)
   4:	48 89 4c 24 18       	mov    %rcx,0x18(%rsp)
   9:	e8 55 07 f9 ff       	callq  0xfffffffffff90763
   e:	4c 8b 54 24 18       	mov    0x18(%rsp),%r10
  13:	48 8b 54 24 10       	mov    0x10(%rsp),%rdx
  18:	41 89 c0             	mov    %eax,%r8d
  1b:	8b 74 24 0c          	mov    0xc(%rsp),%esi
  1f:	8b 7c 24 08          	mov    0x8(%rsp),%edi
  23:	b8 1d 01 00 00       	mov    $0x11d,%eax
  28:	0f 05                	syscall 
  2a:*	48 3d 00 f0 ff ff    	cmp    $0xfffffffffffff000,%rax		<-- trapping instruction
  30:	77 31                	ja     0x63
  32:	44 89 c7             	mov    %r8d,%edi
  35:	89 44 24 08          	mov    %eax,0x8(%rsp)
  39:	e8 85 07 f9 ff       	callq  0xfffffffffff907c3
  3e:	8b                   	.byte 0x8b
  3f:	44                   	rex.R

Code starting with the faulting instruction
===========================================
   0:	48 3d 00 f0 ff ff    	cmp    $0xfffffffffffff000,%rax
   6:	77 31                	ja     0x39
   8:	44 89 c7             	mov    %r8d,%edi
   b:	89 44 24 08          	mov    %eax,0x8(%rsp)
   f:	e8 85 07 f9 ff       	callq  0xfffffffffff90799
  14:	8b                   	.byte 0x8b
  15:	44                   	rex.R
[   97.158825][ T3511] RSP: 002b:00007fffd0739670 EFLAGS: 00000293 ORIG_RAX: 000000000000011d
[   97.167058][ T3511] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f83d8f5d647
[   97.174858][ T3511] RDX: 00000000000003ff RSI: 0000000000000000 RDI: 0000000000000004
[   97.182644][ T3511] RBP: 000055cbb600cf50 R08: 0000000000000000 R09: 0000000000000000
[   97.190444][ T3511] R10: 0000000000000002 R11: 0000000000000293 R12: 000055cbb4968340
[   97.198236][ T3511] R13: 0000000000000000 R14: 000055cbb600cf30 R15: 000055cbb600cf50
[   97.206035][ T3511]  </TASK>
[   97.208906][ T3511] ---[ end trace 0000000000000000 ]---
[   97.331260][  T292] generic/568       _check_dmesg: something found in dmesg (see /lkp/benchmarks/xfstests/results//generic/568.dmesg)
[   97.331271][  T292]


To reproduce:

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

        # if come across any failure that blocks the test,
        # please remove ~/.lkp and /lkp dir to run from a clean state.



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



View attachment "config-6.3.0-rc6-00001-g3f1c33c25c31" of type "text/plain" (161664 bytes)

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

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

View attachment "xfstests" of type "text/plain" (2859 bytes)

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

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ