================================================================== BUG: KASAN: slab-out-of-bounds in tcp_retransmit_timer+0x2d4c/0x3240 net/ipv4/tcp_timer.c:500 Read of size 8 at addr ffff888062340290 by task syz-executor.3/17764 CPU: 0 PID: 17764 Comm: syz-executor.3 Not tainted 5.9.0-rc6-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x198/0x1fd lib/dump_stack.c:118 print_address_description.constprop.0.cold+0xae/0x497 mm/kasan/report.c:383 __kasan_report mm/kasan/report.c:513 [inline] kasan_report.cold+0x1f/0x37 mm/kasan/report.c:530 tcp_retransmit_timer+0x2d4c/0x3240 net/ipv4/tcp_timer.c:500 tcp_write_timer_handler+0x79b/0xa60 net/ipv4/tcp_timer.c:611 tcp_write_timer+0xa2/0x2b0 net/ipv4/tcp_timer.c:631 call_timer_fn+0x1ac/0x760 kernel/time/timer.c:1413 expire_timers kernel/time/timer.c:1458 [inline] __run_timers.part.0+0x67c/0xaa0 kernel/time/timer.c:1755 __run_timers kernel/time/timer.c:1736 [inline] run_timer_softirq+0xb3/0x1d0 kernel/time/timer.c:1768 __do_softirq+0x1f8/0xb23 kernel/softirq.c:298 asm_call_on_stack+0xf/0x20 arch/x86/entry/entry_64.S:706 __run_on_irqstack arch/x86/include/asm/irq_stack.h:22 [inline] run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:48 [inline] do_softirq_own_stack+0x9d/0xd0 arch/x86/kernel/irq_64.c:77 invoke_softirq kernel/softirq.c:393 [inline] __irq_exit_rcu kernel/softirq.c:423 [inline] irq_exit_rcu+0x235/0x280 kernel/softirq.c:435 sysvec_apic_timer_interrupt+0x51/0xf0 arch/x86/kernel/apic/apic.c:1091 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:581 RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:770 [inline] RIP: 0010:kmem_cache_free.part.0+0x90/0x1e0 mm/slab.c:3694 Code: 48 89 de 48 89 ef 4c 89 ea e8 5c 26 00 00 84 c0 74 50 4d 85 f6 75 5e 48 83 3d 33 a5 45 08 00 0f 84 10 01 00 00 4c 89 e7 57 9d <0f> 1f 44 00 00 4c 8b 64 24 28 0f 1f 44 00 00 65 8b 05 ca cc 4a 7e RSP: 0018:ffffc900056c7808 EFLAGS: 00000286 RAX: 00000000000007a3 RBX: ffff888058162740 RCX: ffffc9000f78b000 RDX: 0000000000040000 RSI: 0000000000000000 RDI: 0000000000000286 RBP: ffff88821bc47800 R08: 0000000000000001 R09: ffffffff8d0c0a6f R10: fffffbfff1a1814d R11: 0000000000000000 R12: 0000000000000286 R13: ffffffff81d1339a R14: 0000000000000200 R15: ffff888085671c20 free_buffer_head+0x4a/0xf0 fs/buffer.c:3368 try_to_free_buffers+0x2f8/0x620 fs/buffer.c:3282 ext4_releasepage+0x3b2/0x4d0 fs/ext4/inode.c:3292 try_to_release_page+0x27b/0x3e0 mm/filemap.c:3697 invalidate_complete_page mm/truncate.c:212 [inline] invalidate_inode_page+0x2a0/0x3f0 mm/truncate.c:264 invalidate_mapping_pages+0x49d/0xc20 mm/truncate.c:607 ext4_dio_write_iter fs/ext4/file.c:583 [inline] ext4_file_write_iter+0xff6/0x13f0 fs/ext4/file.c:658 call_write_iter include/linux/fs.h:1882 [inline] new_sync_write+0x422/0x650 fs/read_write.c:503 vfs_write+0x5ad/0x730 fs/read_write.c:578 ksys_write+0x12d/0x250 fs/read_write.c:631 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x45de89 Code: 0d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 db b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007fbda33b4c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 000000000003aa80 RCX: 000000000045de89 RDX: 0000000000043408 RSI: 0000000020000200 RDI: 0000000000000006 RBP: 000000000118c008 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000118bfd4 R13: 00007ffdf50fef0f R14: 00007fbda33b59c0 R15: 000000000118bfd4 Allocated by task 17686: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:48 kasan_set_track mm/kasan/common.c:56 [inline] __kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:461 slab_post_alloc_hook mm/slab.h:518 [inline] slab_alloc mm/slab.c:3312 [inline] kmem_cache_alloc+0x13a/0x3f0 mm/slab.c:3482 getname_flags.part.0+0x50/0x4f0 fs/namei.c:138 getname_flags include/linux/audit.h:320 [inline] getname+0x8e/0xd0 fs/namei.c:209 do_sys_openat2+0xf5/0x420 fs/open.c:1162 do_sys_open fs/open.c:1184 [inline] __do_sys_openat fs/open.c:1200 [inline] __se_sys_openat fs/open.c:1195 [inline] __x64_sys_openat+0x13f/0x1f0 fs/open.c:1195 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Freed by task 17686: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:48 kasan_set_track+0x1c/0x30 mm/kasan/common.c:56 kasan_set_free_info+0x1b/0x30 mm/kasan/generic.c:355 __kasan_slab_free+0xd8/0x120 mm/kasan/common.c:422 __cache_free mm/slab.c:3418 [inline] kmem_cache_free.part.0+0x74/0x1e0 mm/slab.c:3693 putname+0xe1/0x120 fs/namei.c:259 do_sys_openat2+0x153/0x420 fs/open.c:1177 do_sys_open fs/open.c:1184 [inline] __do_sys_openat fs/open.c:1200 [inline] __se_sys_openat fs/open.c:1195 [inline] __x64_sys_openat+0x13f/0x1f0 fs/open.c:1195 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 The buggy address belongs to the object at ffff888062340300 which belongs to the cache names_cache of size 4096 The buggy address is located 112 bytes to the left of 4096-byte region [ffff888062340300, ffff888062341300) The buggy address belongs to the page: page:00000000e7eb3973 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x62340 head:00000000e7eb3973 order:1 compound_mapcount:0 flags: 0xfffe0000010200(slab|head) raw: 00fffe0000010200 ffffea00025b3908 ffffea0002552988 ffff88821bc47a00 raw: 0000000000000000 ffff888062340300 0000000100000001 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888062340180: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff888062340200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff888062340280: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffff888062340300: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888062340380: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================