[LTP] [PATCH v7 3/4] block: introduce folio awareness and add a bigger size from folio

kernel test robot oliver.sang@intel.com
Mon Jul 8 10:24:36 CEST 2024



Hello,

kernel test robot noticed "WARNING:at_mm/gup.c:#try_grab_page" on:

commit: 69b40318d4fdb6a9ac6bb833618e4cd954db4946 ("[PATCH v7 3/4] block: introduce folio awareness and add a bigger size from folio")
url: https://github.com/intel-lab-lkp/linux/commits/Kundan-Kumar/block-Added-folio-lized-version-of-bvec_try_merge_hw_page/20240705-055633
base: https://git.kernel.org/cgit/linux/kernel/git/axboe/linux-block.git for-next
patch link: https://lore.kernel.org/all/20240704070357.1993-4-kundan.kumar@samsung.com/
patch subject: [PATCH v7 3/4] block: introduce folio awareness and add a bigger size from folio

in testcase: ltp
version: ltp-x86_64-14c1f76-1_20240706
with following parameters:

	disk: 1HDD
	fs: ext4
	test: ltp-aiodio.part2-00



compiler: gcc-13
test machine: 36 threads 1 sockets Intel(R) Core(TM) i9-10980XE CPU @ 3.00GHz (Cascade Lake) with 128G memory

(please refer to attached dmesg/kmsg for entire log/backtrace)



If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202407081641.6a640f9e-oliver.sang@intel.com


kern  :warn  : [  327.605962] ------------[ cut here ]------------
kern :warn : [  327.606706] WARNING: CPU: 1 PID: 5867 at mm/gup.c:229 try_grab_page (mm/gup.c:229 (discriminator 1)) 
kern  :warn  : [  327.607701] Modules linked in: intel_rapl_msr intel_rapl_common nfit libnvdimm x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm crct10dif_pclmul crc32_pclmul ghash_clmulni_intel sha512_ssse3 rapl btrfs blake2b_generic xor zstd_compress raid6_pq libcrc32c crc32c_intel sd_mod sg intel_cstate ahci mei_me nvme libahci ipmi_devintf ipmi_msghandler intel_uncore intel_wmi_thunderbolt wmi_bmof mxm_wmi wdat_wdt libata nvme_core i2c_i801 ioatdma mei i2c_smbus dca wmi binfmt_misc drm fuse loop dm_mod ip_tables
kern  :warn  : [  327.613419] CPU: 1 PID: 5867 Comm: dio_sparse Not tainted 6.10.0-rc6-00246-g69b40318d4fd #1
kern  :warn  : [  327.614547] Hardware name: Gigabyte Technology Co., Ltd. X299 UD4 Pro/X299 UD4 Pro-CF, BIOS F8a 04/27/2021
kern :warn : [  327.615788] RIP: 0010:try_grab_page (mm/gup.c:229 (discriminator 1)) 
kern :warn : [ 327.616621] Code: 40 f6 c5 01 0f 84 1a fe ff ff 48 83 ed 01 e9 14 fe ff ff be 04 00 00 00 4c 89 e7 e8 bd 68 14 00 f0 41 ff 04 24 e9 67 ff ff ff <0f> 0b b8 f4 ff ff ff 5b 5d 41 5c 41 5d c3 cc cc cc cc e8 9c 68 14
All code
========
   0:	40 f6 c5 01          	test   $0x1,%bpl
   4:	0f 84 1a fe ff ff    	je     0xfffffffffffffe24
   a:	48 83 ed 01          	sub    $0x1,%rbp
   e:	e9 14 fe ff ff       	jmp    0xfffffffffffffe27
  13:	be 04 00 00 00       	mov    $0x4,%esi
  18:	4c 89 e7             	mov    %r12,%rdi
  1b:	e8 bd 68 14 00       	call   0x1468dd
  20:	f0 41 ff 04 24       	lock incl (%r12)
  25:	e9 67 ff ff ff       	jmp    0xffffffffffffff91
  2a:*	0f 0b                	ud2		<-- trapping instruction
  2c:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
  31:	5b                   	pop    %rbx
  32:	5d                   	pop    %rbp
  33:	41 5c                	pop    %r12
  35:	41 5d                	pop    %r13
  37:	c3                   	ret
  38:	cc                   	int3
  39:	cc                   	int3
  3a:	cc                   	int3
  3b:	cc                   	int3
  3c:	e8                   	.byte 0xe8
  3d:	9c                   	pushf
  3e:	68                   	.byte 0x68
  3f:	14                   	.byte 0x14

Code starting with the faulting instruction
===========================================
   0:	0f 0b                	ud2
   2:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
   7:	5b                   	pop    %rbx
   8:	5d                   	pop    %rbp
   9:	41 5c                	pop    %r12
   b:	41 5d                	pop    %r13
   d:	c3                   	ret
   e:	cc                   	int3
   f:	cc                   	int3
  10:	cc                   	int3
  11:	cc                   	int3
  12:	e8                   	.byte 0xe8
  13:	9c                   	pushf
  14:	68                   	.byte 0x68
  15:	14                   	.byte 0x14
kern  :warn  : [  327.619059] RSP: 0018:ffffc9000d61f2f8 EFLAGS: 00010246
kern  :warn  : [  327.619993] RAX: 0000000000000000 RBX: ffffea000bc10000 RCX: ffffffff8194dcbb
kern  :warn  : [  327.621085] RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffffea000bc10034
kern  :warn  : [  327.622179] RBP: ffffea000bc10000 R08: 0000000000000000 R09: fffff94001782006
kern  :warn  : [  327.623273] R10: ffffea000bc10037 R11: 00007fd4b2aa6fff R12: ffffea000bc10034
kern  :warn  : [  327.624366] R13: 0000000000290000 R14: ffff8881267fec40 R15: 0000000000000000
kern  :warn  : [  327.625460] FS:  00007fd4b2929740(0000) GS:ffff889f8ae80000(0000) knlGS:0000000000000000
kern  :warn  : [  327.626636] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kern  :warn  : [  327.627622] CR2: 00007f517b030000 CR3: 0000002081e22001 CR4: 00000000003706f0
kern  :warn  : [  327.628727] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
kern  :warn  : [  327.629832] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
kern  :warn  : [  327.631001] Call Trace:
kern  :warn  : [  327.631743]  <TASK>
kern :warn : [  327.632445] ? __warn (kernel/panic.c:693) 
kern :warn : [  327.633243] ? try_grab_page (mm/gup.c:229 (discriminator 1)) 
kern :warn : [  327.634128] ? report_bug (lib/bug.c:180 lib/bug.c:219) 
kern :warn : [  327.634985] ? handle_bug (arch/x86/kernel/traps.c:239 (discriminator 1)) 
kern :warn : [  327.635835] ? exc_invalid_op (arch/x86/kernel/traps.c:260 (discriminator 1)) 
kern :warn : [  327.636695] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621) 
kern :warn : [  327.637587] ? try_grab_page (arch/x86/include/asm/atomic.h:23 include/linux/atomic/atomic-arch-fallback.h:457 include/linux/atomic/atomic-instrumented.h:33 include/linux/page_ref.h:67 include/linux/page_ref.h:89 mm/gup.c:229) 
kern :warn : [  327.638509] ? try_grab_page (mm/gup.c:229 (discriminator 1)) 
kern :warn : [  327.639418] ? try_grab_page (arch/x86/include/asm/atomic.h:23 include/linux/atomic/atomic-arch-fallback.h:457 include/linux/atomic/atomic-instrumented.h:33 include/linux/page_ref.h:67 include/linux/page_ref.h:89 mm/gup.c:229) 
kern :warn : [  327.640285] follow_huge_pmd (mm/gup.c:809) 
kern :warn : [  327.641162] follow_pmd_mask+0x3f8/0x7e0 
kern :warn : [  327.642090] ? __pfx_follow_pmd_mask+0x10/0x10 
kern :warn : [  327.643125] ? find_vma (mm/mmap.c:1944) 
kern :warn : [  327.643948] ? __pfx_find_vma (mm/mmap.c:1944) 
kern :warn : [  327.644804] follow_page_mask (mm/gup.c:1116 mm/gup.c:1162) 
kern :warn : [  327.645674] __get_user_pages (mm/gup.c:1588 (discriminator 1)) 
kern :warn : [  327.646601] ? __pfx___get_user_pages (mm/gup.c:1522) 
kern :warn : [  327.647533] ? down_read_killable (arch/x86/include/asm/atomic64_64.h:20 include/linux/atomic/atomic-arch-fallback.h:2629 include/linux/atomic/atomic-long.h:79 include/linux/atomic/atomic-instrumented.h:3224 kernel/locking/rwsem.c:176 kernel/locking/rwsem.c:181 kernel/locking/rwsem.c:249 kernel/locking/rwsem.c:241 kernel/locking/rwsem.c:1249 kernel/locking/rwsem.c:1273 kernel/locking/rwsem.c:1551) 
kern :warn : [  327.648428] ? __pfx_down_read_killable (kernel/locking/rwsem.c:1547) 
kern :warn : [  327.649345] __gup_longterm_locked (mm/gup.c:1859 mm/gup.c:2556) 
kern :warn : [  327.650237] gup_fast_fallback (mm/gup.c:3476) 
kern :warn : [  327.651111] ? __pfx__raw_spin_lock_irqsave (kernel/locking/spinlock.c:161) 
kern :warn : [  327.652030] ? __pfx_gup_fast_fallback (mm/gup.c:3439) 
kern :warn : [  327.652890] ? __link_object (include/linux/rculist.h:79 (discriminator 1) include/linux/rculist.h:128 (discriminator 1) mm/kmemleak.c:728 (discriminator 1)) 
kern :warn : [  327.653674] iov_iter_extract_pages (lib/iov_iter.c:1584 (discriminator 1) lib/iov_iter.c:1646 (discriminator 1)) 
kern :warn : [  327.654501] __bio_iov_iter_get_pages (block/bio.c:1353) 
kern :warn : [  327.655382] ? __pfx___bio_iov_iter_get_pages (block/bio.c:1324) 
kern :warn : [  327.656273] ? bio_init (arch/x86/include/asm/atomic.h:28 include/linux/atomic/atomic-arch-fallback.h:503 include/linux/atomic/atomic-instrumented.h:68 block/bio.c:279) 
kern :warn : [  327.656980] ? bio_alloc_bioset (block/bio.c:578) 
kern :warn : [  327.657721] bio_iov_iter_get_pages (block/bio.c:1446 (discriminator 3)) 
kern :warn : [  327.658474] iomap_dio_bio_iter (fs/iomap/direct-io.c:388) 
kern :warn : [  327.659248] __iomap_dio_rw (fs/iomap/direct-io.c:501 fs/iomap/direct-io.c:660) 
kern :warn : [  327.659982] ? __pfx___iomap_dio_rw (fs/iomap/direct-io.c:544) 
kern :warn : [  327.660729] ? __pfx_ext4_dio_write_checks (fs/ext4/file.c:424) 
kern :warn : [  327.661518] ? __pfx_ext4_dio_write_end_io (fs/ext4/file.c:376) 
kern :warn : [  327.662299] ? iomap_dio_complete (fs/iomap/direct-io.c:133) 
kern :warn : [  327.663052] iomap_dio_rw (fs/iomap/direct-io.c:749) 
kern :warn : [  327.663723] ext4_dio_write_iter (fs/ext4/file.c:577) 
kern :warn : [  327.664439] ? __pfx_ext4_dio_write_iter (fs/ext4/file.c:499) 
kern :warn : [  327.665185] ? folio_unlock (arch/x86/include/asm/bitops.h:101 include/asm-generic/bitops/instrumented-lock.h:80 include/linux/page-flags.h:762 mm/filemap.c:1508) 
kern :warn : [  327.665838] ? do_wp_page (include/linux/vmstat.h:71 (discriminator 1) mm/memory.c:3193 (discriminator 1) mm/memory.c:3663 (discriminator 1)) 
kern :warn : [  327.666494] ? __pfx___might_resched (kernel/sched/core.c:10151) 
kern :warn : [  327.667254] vfs_write (fs/read_write.c:497 fs/read_write.c:590) 
kern :warn : [  327.667915] ? __pfx___might_resched (kernel/sched/core.c:10151) 
kern :warn : [  327.668657] ? __pfx_vfs_write (fs/read_write.c:571) 
kern :warn : [  327.669342] ? __pfx___might_resched (kernel/sched/core.c:10151) 
kern :warn : [  327.670062] ? __pfx_put_timespec64 (kernel/time/time.c:904) 
kern :warn : [  327.670774] ksys_write (fs/read_write.c:643) 
kern :warn : [  327.671409] ? __pfx_ksys_write (fs/read_write.c:633) 
kern :warn : [  327.672129] ? __pfx___x64_sys_clock_gettime (kernel/time/posix-timers.c:1132) 
kern :warn : [  327.672939] ? fpregs_restore_userregs (arch/x86/include/asm/bitops.h:75 include/asm-generic/bitops/instrumented-atomic.h:42 include/linux/thread_info.h:94 arch/x86/kernel/fpu/context.h:79) 
kern :warn : [  327.673697] do_syscall_64 (arch/x86/entry/common.c:52 (discriminator 1) arch/x86/entry/common.c:83 (discriminator 1)) 
kern :warn : [  327.674363] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) 
kern  :warn  : [  327.675145] RIP: 0033:0x7fd4b2a24240
kern :warn : [ 327.675803] Code: 40 00 48 8b 15 c1 9b 0d 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 80 3d a1 23 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
All code
========
   0:	40 00 48 8b          	rex add %cl,-0x75(%rax)
   4:	15 c1 9b 0d 00       	adc    $0xd9bc1,%eax
   9:	f7 d8                	neg    %eax
   b:	64 89 02             	mov    %eax,%fs:(%rdx)
   e:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
  15:	eb b7                	jmp    0xffffffffffffffce
  17:	0f 1f 00             	nopl   (%rax)
  1a:	80 3d a1 23 0e 00 00 	cmpb   $0x0,0xe23a1(%rip)        # 0xe23c2
  21:	74 17                	je     0x3a
  23:	b8 01 00 00 00       	mov    $0x1,%eax
  28:	0f 05                	syscall
  2a:*	48 3d 00 f0 ff ff    	cmp    $0xfffffffffffff000,%rax		<-- trapping instruction
  30:	77 58                	ja     0x8a
  32:	c3                   	ret
  33:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  3a:	48 83 ec 28          	sub    $0x28,%rsp
  3e:	48                   	rex.W
  3f:	89                   	.byte 0x89

Code starting with the faulting instruction
===========================================
   0:	48 3d 00 f0 ff ff    	cmp    $0xfffffffffffff000,%rax
   6:	77 58                	ja     0x60
   8:	c3                   	ret
   9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  10:	48 83 ec 28          	sub    $0x28,%rsp
  14:	48                   	rex.W
  15:	89                   	.byte 0x89


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20240708/202407081641.6a640f9e-oliver.sang@intel.com



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



More information about the ltp mailing list