ci2 starts bisection 2024-05-26 01:28:28.135234552 +0000 UTC m=+114716.996202487
bisecting fixing commit since cd94fe67fd3323953016b8193f5be75982da96c8
building syzkaller on 6654cf89a7909afd314ad8abd502bc0dd024112a
ensuring issue is reproducible on original commit cd94fe67fd3323953016b8193f5be75982da96c8
testing commit cd94fe67fd3323953016b8193f5be75982da96c8 gcc
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
kernel signature: 0443b39cc8ded05fa6ef794888ae1e8e8c22128a939f7132a33953e078819ead
run #0: crashed: KASAN: use-after-free Read in ext4_find_extent
run #1: crashed: KASAN: use-after-free Read in ext4_find_extent
run #2: crashed: KASAN: use-after-free Read in ext4_find_extent
run #3: crashed: KASAN: use-after-free Read in ext4_find_extent
run #4: crashed: KASAN: use-after-free Read in ext4_find_extent
run #5: crashed: kernel BUG in ext4_writepages
run #6: crashed: KASAN: use-after-free Read in ext4_find_extent
run #7: crashed: KASAN: use-after-free Read in ext4_find_extent
run #8: crashed: KASAN: use-after-free Read in ext4_find_extent
run #9: crashed: KASAN: use-after-free Read in ext4_find_extent
run #10: crashed: KASAN: use-after-free Read in ext4_find_extent
run #11: crashed: KASAN: use-after-free Read in ext4_find_extent
run #12: crashed: KASAN: use-after-free Read in ext4_find_extent
run #13: crashed: KASAN: out-of-bounds Read in ext4_find_extent
run #14: crashed: KASAN: use-after-free Read in ext4_find_extent
run #15: crashed: kernel BUG in ext4_writepages
run #16: crashed: KASAN: use-after-free Read in ext4_find_extent
run #17: crashed: KASAN: use-after-free Read in ext4_find_extent
run #18: crashed: KASAN: slab-out-of-bounds Read in ext4_find_extent
run #19: crashed: KASAN: use-after-free Read in ext4_find_extent
representative crash: KASAN: use-after-free Read in ext4_find_extent, types: [KASAN]
check whether we can drop unnecessary instrumentation
disabling configs for [BUG LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN], they are not needed
testing commit cd94fe67fd3323953016b8193f5be75982da96c8 gcc
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
kernel signature: d54ca521e3bf9b3c94dae889982f3e3b88f2ba3f3e17c087f1096e5f5a1e39da
run #0: crashed: KASAN: use-after-free Read in ext4_find_extent
run #1: crashed: KASAN: use-after-free Read in ext4_find_extent
run #2: crashed: KASAN: use-after-free Read in ext4_find_extent
run #3: crashed: invalid opcode in ext4_writepages
run #4: crashed: KASAN: use-after-free Read in ext4_find_extent
run #5: crashed: KASAN: slab-out-of-bounds Read in ext4_find_extent
run #6: crashed: KASAN: use-after-free Read in ext4_find_extent
run #7: crashed: KASAN: use-after-free Read in ext4_find_extent
run #8: crashed: KASAN: use-after-free Read in ext4_find_extent
run #9: crashed: KASAN: use-after-free Read in ext4_find_extent
representative crash: KASAN: use-after-free Read in ext4_find_extent, types: [KASAN]
the bug reproduces without the instrumentation
disabling configs for [HANG LEAK UBSAN BUG LOCKDEP ATOMIC_SLEEP], they are not needed
kconfig minimization: base=5179 full=6487 leaves diff=250
split chunks (needed=false): <250>
split chunk #0 of len 250 into 5 parts
testing without sub-chunk 1/5
disabling configs for [LEAK UBSAN BUG LOCKDEP ATOMIC_SLEEP HANG], they are not needed
testing commit cd94fe67fd3323953016b8193f5be75982da96c8 gcc
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
kernel signature: 40a9d0f6cf6f1491e82cf92853e862c904be3fce1fd344f4ceea207cba189a3c
run #0: crashed: KASAN: use-after-free Read in ext4_find_extent
run #1: crashed: KASAN: use-after-free Read in ext4_find_extent
run #2: crashed: invalid opcode in ext4_writepages
run #3: crashed: KASAN: slab-out-of-bounds Read in ext4_find_extent
run #4: crashed: KASAN: use-after-free Read in ext4_find_extent
run #5: crashed: KASAN: use-after-free Read in ext4_find_extent
run #6: crashed: KASAN: use-after-free Read in ext4_find_extent
run #7: crashed: KASAN: use-after-free Read in ext4_find_extent
run #8: crashed: KASAN: use-after-free Read in ext4_find_extent
run #9: crashed: KASAN: use-after-free Read in ext4_find_extent
representative crash: KASAN: use-after-free Read in ext4_find_extent, types: [KASAN]
the chunk can be dropped
testing without sub-chunk 2/5
disabling configs for [UBSAN BUG LOCKDEP ATOMIC_SLEEP HANG LEAK], they are not needed
testing commit cd94fe67fd3323953016b8193f5be75982da96c8 gcc
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
kernel signature: 8ec111aa983590efbebb05d58dff2e85d56a0d85f914e82547f704bf54b365a9
run #0: crashed: KASAN: use-after-free Read in ext4_find_extent
run #1: crashed: KASAN: use-after-free Read in ext4_find_extent
run #2: crashed: KASAN: use-after-free Read in ext4_find_extent
run #3: crashed: KASAN: use-after-free Read in ext4_find_extent
run #4: crashed: KASAN: use-after-free Read in ext4_find_extent
run #5: crashed: KASAN: slab-out-of-bounds Read in ext4_find_extent
run #6: crashed: KASAN: use-after-free Read in ext4_find_extent
run #7: crashed: KASAN: use-after-free Read in ext4_find_extent
run #8: crashed: KASAN: use-after-free Read in ext4_find_extent
run #9: crashed: KASAN: use-after-free Read in ext4_find_extent
representative crash: KASAN: use-after-free Read in ext4_find_extent, types: [KASAN]
the chunk can be dropped
testing without sub-chunk 3/5
disabling configs for [UBSAN BUG LOCKDEP ATOMIC_SLEEP HANG LEAK], they are not needed
testing commit cd94fe67fd3323953016b8193f5be75982da96c8 gcc
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
kernel signature: 81a9cb0abb64747a838a5ec885220e47bd491423ad667340073da61a413253fe
run #0: crashed: KASAN: slab-out-of-bounds Read in ext4_find_extent
run #1: crashed: KASAN: use-after-free Read in ext4_find_extent
run #2: crashed: KASAN: use-after-free Read in ext4_find_extent
run #3: crashed: KASAN: use-after-free Read in ext4_find_extent
run #4: crashed: KASAN: use-after-free Read in ext4_find_extent
run #5: crashed: KASAN: use-after-free Read in ext4_find_extent
run #6: crashed: KASAN: use-after-free Read in ext4_find_extent
run #7: crashed: KASAN: use-after-free Read in ext4_find_extent
run #8: crashed: KASAN: use-after-free Read in ext4_find_extent
run #9: crashed: KASAN: use-after-free Read in ext4_find_extent
representative crash: KASAN: slab-out-of-bounds Read in ext4_find_extent, types: [KASAN]
the chunk can be dropped
testing without sub-chunk 4/5
disabling configs for [HANG LEAK UBSAN BUG LOCKDEP ATOMIC_SLEEP], they are not needed
testing commit cd94fe67fd3323953016b8193f5be75982da96c8 gcc
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
kernel signature: 0b7f570445a884b9a44c3005a7a15c76db4fd26c6f0c614e6a6456ec3191c24b
run #0: crashed: KASAN: use-after-free Read in ext4_find_extent
run #1: crashed: KASAN: use-after-free Read in ext4_find_extent
run #2: crashed: KASAN: slab-out-of-bounds Read in ext4_find_extent
run #3: crashed: KASAN: use-after-free Read in ext4_find_extent
run #4: crashed: KASAN: use-after-free Read in ext4_find_extent
run #5: crashed: KASAN: use-after-free Read in ext4_find_extent
run #6: crashed: KASAN: use-after-free Read in ext4_find_extent
run #7: crashed: KASAN: use-after-free Read in ext4_find_extent
run #8: crashed: KASAN: slab-out-of-bounds Read in ext4_find_extent
run #9: crashed: invalid opcode in ext4_writepages
representative crash: KASAN: use-after-free Read in ext4_find_extent, types: [KASAN]
the chunk can be dropped
testing without sub-chunk 5/5
disabling configs for [BUG LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN], they are not needed
testing commit cd94fe67fd3323953016b8193f5be75982da96c8 gcc
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
failed building cd94fe67fd3323953016b8193f5be75982da96c8: net/socket.c:1225: undefined reference to `wext_handle_ioctl'
net/socket.c:3420: undefined reference to `compat_wext_handle_ioctl'
net/core/net-procfs.c:329: undefined reference to `wext_proc_init'
net/core/net-procfs.c:345: undefined reference to `wext_proc_exit'
minimized to 50 configs; suspects: [HID_ZEROPLUS USB_NET_CDC_MBIM USB_NET_CDC_SUBSET USB_NET_CDC_SUBSET_ENABLE USB_NET_DM9601 USB_NET_GL620A USB_NET_MCS7830 USB_NET_NET1080 USB_NET_PLUSB USB_NET_RNDIS_HOST USB_NET_SMSC75XX USB_NET_SMSC95XX USB_NET_SR9700 USB_NET_SR9800 USB_NET_ZAURUS USB_OHCI_HCD USB_OHCI_HCD_PCI USB_OHCI_HCD_PLATFORM USB_OTG USB_OTG_FSM USB_PRINTER USB_SERIAL_GENERIC USB_SERIAL_PL2303 USB_STORAGE_ALAUDA USB_STORAGE_CYPRESS_ATACB USB_STORAGE_DATAFAB USB_STORAGE_FREECOM USB_STORAGE_ISD200 USB_STORAGE_JUMPSHOT USB_STORAGE_KARMA USB_STORAGE_ONETOUCH USB_STORAGE_SDDR09 USB_STORAGE_SDDR55 USB_STORAGE_USBAT USB_TRANCEVIBRATOR USB_U_AUDIO USB_U_ETHER USB_U_SERIAL USB_WDM WLAN WLAN_VENDOR_ATH WLAN_VENDOR_ATMEL WLAN_VENDOR_BROADCOM WLAN_VENDOR_INTERSIL WLAN_VENDOR_MARVELL WLAN_VENDOR_MEDIATEK WLAN_VENDOR_MICROCHIP WLAN_VENDOR_PURELIFI WLAN_VENDOR_RALINK WLAN_VENDOR_REALTEK WLAN_VENDOR_RSI WLAN_VENDOR_SILABS WLAN_VENDOR_ZYDAS X86_X32_ABI ZEROPLUS_FF]
disabling configs for [HANG LEAK UBSAN BUG LOCKDEP ATOMIC_SLEEP], they are not needed
testing current HEAD 68c821783c7688df37f4ac7bb39f3fb606b827c0
testing commit 68c821783c7688df37f4ac7bb39f3fb606b827c0 gcc
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
kernel signature: ab0b1b7b87f86cb9fa51daa3ac083b63aa033afbe9665f87de736e18db09b2b3
run #0: crashed: KASAN: use-after-free Read in ext4_find_extent
run #1: crashed: invalid opcode in ext4_writepages
run #2: crashed: KASAN: use-after-free Read in ext4_find_extent
run #3: crashed: KASAN: use-after-free Read in ext4_find_extent
run #4: crashed: KASAN: use-after-free Read in ext4_find_extent
run #5: crashed: KASAN: use-after-free Read in ext4_find_extent
run #6: crashed: KASAN: use-after-free Read in ext4_find_extent
run #7: crashed: KASAN: use-after-free Read in ext4_find_extent
run #8: crashed: invalid opcode in ext4_writepages
run #9: crashed: KASAN: use-after-free Read in ext4_find_extent
representative crash: KASAN: use-after-free Read in ext4_find_extent, types: [KASAN]
crash still not fixed/happens on the oldest tested release
revisions tested: 7, total time: 45m52.715077151s (build: 19m4.562468257s, test: 24m18.936720252s)
crash still not fixed or there were kernel test errors
commit msg: UPSTREAM: epoll: be better about file lifetimes
crash: KASAN: use-after-free Read in ext4_find_extent
==================================================================
BUG: KASAN: use-after-free in ext4_ext_binsearch fs/ext4/extents.c:837 [inline]
BUG: KASAN: use-after-free in ext4_find_extent+0xb60/0xd10 fs/ext4/extents.c:953
Read of size 4 at addr ffff888125aaf788 by task kworker/u4:4/358
CPU: 0 PID: 358 Comm: kworker/u4:4 Not tainted 6.1.75-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024
Workqueue: writeback wb_workfn (flush-7:0)
Call Trace:
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x105/0x148 lib/dump_stack.c:106
print_address_description mm/kasan/report.c:316 [inline]
print_report+0x158/0x4e0 mm/kasan/report.c:427
kasan_report+0x13c/0x170 mm/kasan/report.c:531
__asan_report_load4_noabort+0x14/0x20 mm/kasan/report_generic.c:350
ext4_ext_binsearch fs/ext4/extents.c:837 [inline]
ext4_find_extent+0xb60/0xd10 fs/ext4/extents.c:953
ext4_ext_map_blocks+0x25d/0x64d0 fs/ext4/extents.c:4103
ext4_map_blocks+0x821/0x1890 fs/ext4/inode.c:651
mpage_map_one_extent fs/ext4/inode.c:2423 [inline]
mpage_map_and_submit_extent fs/ext4/inode.c:2476 [inline]
ext4_writepages+0x13f4/0x3120 fs/ext4/inode.c:2844
do_writepages+0x338/0x5b0 mm/page-writeback.c:2472
__writeback_single_inode+0x73/0x7a0 fs/fs-writeback.c:1612
writeback_sb_inodes+0x881/0x1500 fs/fs-writeback.c:1903
wb_writeback+0x357/0x810 fs/fs-writeback.c:2077
wb_do_writeback fs/fs-writeback.c:2220 [inline]
wb_workfn+0x37d/0xdf0 fs/fs-writeback.c:2260
process_one_work+0x6de/0xd00 kernel/workqueue.c:2299
worker_thread+0x892/0xf20 kernel/workqueue.c:2446
kthread+0x215/0x270 kernel/kthread.c:386
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306
The buggy address belongs to the physical page:
page:ffffea000496abc0 refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x125aaf
flags: 0x4000000000000000(zone=1)
raw: 4000000000000000 ffffea000496c588 ffffea000496c9c8 0000000000000000
raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as freed
page last allocated via order 0, migratetype Movable, gfp_mask 0x8140dca(GFP_HIGHUSER_MOVABLE|__GFP_COMP|__GFP_ZERO|__GFP_CMA), pid 555, tgid 554 (syz-executor.0), ts 49001754812, free_ts 49044300740
set_page_owner include/linux/page_owner.h:33 [inline]
post_alloc_hook mm/page_alloc.c:2590 [inline]
prep_new_page+0x512/0x5e0 mm/page_alloc.c:2597
get_page_from_freelist+0x288b/0x2910 mm/page_alloc.c:4425
__alloc_pages+0x39f/0x780 mm/page_alloc.c:5712
__folio_alloc+0x15/0x40 mm/page_alloc.c:5744
__folio_alloc_node include/linux/gfp.h:245 [inline]
folio_alloc include/linux/gfp.h:274 [inline]
alloc_page_vma include/linux/gfp.h:283 [inline]
do_anonymous_page mm/memory.c:4220 [inline]
handle_pte_fault mm/memory.c:5099 [inline]
__handle_mm_fault mm/memory.c:5243 [inline]
handle_mm_fault+0x187a/0x2490 mm/memory.c:5383
do_user_addr_fault arch/x86/mm/fault.c:1363 [inline]
handle_page_fault arch/x86/mm/fault.c:1506 [inline]
exc_page_fault+0x3b3/0x700 arch/x86/mm/fault.c:1562
asm_exc_page_fault+0x27/0x30 arch/x86/include/asm/idtentry.h:570
page last free stack trace:
reset_page_owner include/linux/page_owner.h:26 [inline]
free_pages_prepare mm/page_alloc.c:1498 [inline]
free_pcp_prepare mm/page_alloc.c:1572 [inline]
free_unref_page_prepare+0x794/0x7a0 mm/page_alloc.c:3498
free_unref_page_list+0xf1/0x790 mm/page_alloc.c:3646
release_pages+0xcfc/0xd50 mm/swap.c:1063
free_pages_and_swap_cache+0x68/0x80 mm/swap_state.c:314
tlb_batch_pages_flush mm/mmu_gather.c:59 [inline]
tlb_flush_mmu_free mm/mmu_gather.c:254 [inline]
tlb_flush_mmu mm/mmu_gather.c:261 [inline]
tlb_finish_mmu+0x1ba/0x3b0 mm/mmu_gather.c:361
exit_mmap+0x38b/0x770 mm/mmap.c:3348
__mmput+0x6b/0x2a0 kernel/fork.c:1298
mmput+0x2a/0xe0 kernel/fork.c:1321
exit_mm kernel/exit.c:566 [inline]
do_exit+0x943/0x2470 kernel/exit.c:862
do_group_exit+0x1ba/0x290 kernel/exit.c:1025
get_signal+0xf0b/0x1000 kernel/signal.c:2880
arch_do_signal_or_restart+0xb0/0x16f0 arch/x86/kernel/signal.c:871
exit_to_user_mode_loop+0x74/0xa0 kernel/entry/common.c:168
exit_to_user_mode_prepare+0x5a/0xa0 kernel/entry/common.c:204
__syscall_exit_to_user_mode_work kernel/entry/common.c:286 [inline]
syscall_exit_to_user_mode+0x26/0x140 kernel/entry/common.c:297
do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:87
Memory state around the buggy address:
ffff888125aaf680: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ffff888125aaf700: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff888125aaf780: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
^
ffff888125aaf800: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ffff888125aaf880: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 358 Comm: kworker/u4:4 Tainted: G B 6.1.75-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024
Workqueue: writeback wb_workfn (flush-7:0)
RIP: 0010:mpage_map_one_extent fs/ext4/inode.c:2435 [inline]
RIP: 0010:mpage_map_and_submit_extent fs/ext4/inode.c:2476 [inline]
RIP: 0010:ext4_writepages+0x310e/0x3120 fs/ext4/inode.c:2844
Code: e9 45 89 f0 e8 e3 cd 06 00 65 ff 0d b4 5c 30 7e 49 bf 00 00 00 00 00 fc ff df 0f 85 7e fb ff ff e8 5f 54 2e ff e9 74 fb ff ff <0f> 0b 0f 0b 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 55 48 89 e5
RSP: 0018:ffffc90000d07060 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 000000000000042b RCX: 1ffff920001a0e6a
RDX: 0000000000000001 RSI: 0000000000000008 RDI: 0000000000000001
RBP: ffffc90000d07450 R08: dffffc0000000000 R09: ffffed10200be0dd
R10: 0000000000000000 R11: dffffc0000000001 R12: ffff88811dc99160
R13: ffffc90000d07320 R14: ffff8881005f0720 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8881f7200000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555556c44818 CR3: 000000010dd2b000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
do_writepages+0x338/0x5b0 mm/page-writeback.c:2472
__writeback_single_inode+0x73/0x7a0 fs/fs-writeback.c:1612
writeback_sb_inodes+0x881/0x1500 fs/fs-writeback.c:1903
wb_writeback+0x357/0x810 fs/fs-writeback.c:2077
wb_do_writeback fs/fs-writeback.c:2220 [inline]
wb_workfn+0x37d/0xdf0 fs/fs-writeback.c:2260
process_one_work+0x6de/0xd00 kernel/workqueue.c:2299
worker_thread+0x892/0xf20 kernel/workqueue.c:2446
kthread+0x215/0x270 kernel/kthread.c:386
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:mpage_map_one_extent fs/ext4/inode.c:2435 [inline]
RIP: 0010:mpage_map_and_submit_extent fs/ext4/inode.c:2476 [inline]
RIP: 0010:ext4_writepages+0x310e/0x3120 fs/ext4/inode.c:2844
Code: e9 45 89 f0 e8 e3 cd 06 00 65 ff 0d b4 5c 30 7e 49 bf 00 00 00 00 00 fc ff df 0f 85 7e fb ff ff e8 5f 54 2e ff e9 74 fb ff ff <0f> 0b 0f 0b 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 55 48 89 e5
RSP: 0018:ffffc90000d07060 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 000000000000042b RCX: 1ffff920001a0e6a
RDX: 0000000000000001 RSI: 0000000000000008 RDI: 0000000000000001
RBP: ffffc90000d07450 R08: dffffc0000000000 R09: ffffed10200be0dd
R10: 0000000000000000 R11: dffffc0000000001 R12: ffff88811dc99160
R13: ffffc90000d07320 R14: ffff8881005f0720 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8881f7300000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055c20759a018 CR3: 000000010ec0c000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400