EXT4-fs error (device loop2): ext4_xattr_ibody_get:591: inode #18: comm syz-executor.2: corrupted in-inode xattr ================================================================== BUG: KASAN: use-after-free in get_max_inline_xattr_value_size+0x373/0x510 fs/ext4/inline.c:61 Read of size 4 at addr ffff8881ed12a084 by task syz-executor.2/2415 CPU: 1 PID: 2415 Comm: syz-executor.2 Not tainted 5.4.225-syzkaller-00018-g57b9129d0863 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/12/2023 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1d8/0x241 lib/dump_stack.c:118 print_address_description+0x8c/0x630 mm/kasan/report.c:384 __kasan_report+0xf6/0x130 mm/kasan/report.c:516 kasan_report+0x30/0x60 mm/kasan/common.c:653 get_max_inline_xattr_value_size+0x373/0x510 fs/ext4/inline.c:61 ext4_get_max_inline_size+0x139/0x1f0 fs/ext4/inline.c:112 ext4_try_to_write_inline_data+0xd9/0x1750 fs/ext4/inline.c:673 ext4_write_begin+0x258/0x1e70 fs/ext4/inode.c:1312 ext4_da_write_begin+0x4a8/0xf80 fs/ext4/inode.c:3117 generic_perform_write+0x2f9/0x5a0 mm/filemap.c:3311 __generic_file_write_iter+0x239/0x490 mm/filemap.c:3440 ext4_file_write_iter+0x495/0x10e0 fs/ext4/file.c:270 do_iter_readv_writev+0x529/0x740 fs/read_write.c:690 do_iter_write+0x16f/0x570 fs/read_write.c:970 iter_file_splice_write+0x887/0x10f0 fs/splice.c:746 splice_direct_to_actor+0x4c4/0xb20 fs/splice.c:976 do_splice_direct+0x2a0/0x3f0 fs/splice.c:1064 do_sendfile+0x8f2/0xf10 fs/read_write.c:1464 __do_sys_sendfile64 fs/read_write.c:1525 [inline] __se_sys_sendfile64 fs/read_write.c:1511 [inline] __x64_sys_sendfile64+0x1ce/0x230 fs/read_write.c:1511 do_syscall_64+0xcb/0x1c0 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x5c/0xc1 The buggy address belongs to the page: page:ffffea0007b44a80 refcount:0 mapcount:-128 mapping:0000000000000000 index:0x0 flags: 0x8000000000000000() raw: 8000000000000000 ffffea0007155148 ffffea0007b75388 0000000000000000 raw: 0000000000000000 0000000000000000 00000000ffffff7f 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as freed page last allocated via order 0, migratetype Unmovable, gfp_mask 0x102cc2(GFP_HIGHUSER|__GFP_NOWARN) set_page_owner include/linux/page_owner.h:31 [inline] post_alloc_hook mm/page_alloc.c:2165 [inline] prep_new_page+0x194/0x380 mm/page_alloc.c:2171 get_page_from_freelist+0x524/0x560 mm/page_alloc.c:3794 __alloc_pages_nodemask+0x372/0x860 mm/page_alloc.c:4891 __vmalloc_area_node mm/vmalloc.c:2431 [inline] __vmalloc_node_range+0x38f/0x730 mm/vmalloc.c:2499 __vmalloc_node mm/vmalloc.c:2554 [inline] __vmalloc_node_flags mm/vmalloc.c:2568 [inline] vmalloc+0x70/0x80 mm/vmalloc.c:2593 htable_create+0x166/0x8a0 net/netfilter/xt_hashlimit.c:298 hashlimit_mt_check_common+0x6f8/0xa30 net/netfilter/xt_hashlimit.c:898 hashlimit_mt_check_v2+0x304/0x510 net/netfilter/xt_hashlimit.c:942 xt_check_match+0x33e/0x960 net/netfilter/x_tables.c:503 check_match net/ipv6/netfilter/ip6_tables.c:490 [inline] find_check_match net/ipv6/netfilter/ip6_tables.c:507 [inline] find_check_entry net/ipv6/netfilter/ip6_tables.c:558 [inline] translate_table+0x15fa/0x2360 net/ipv6/netfilter/ip6_tables.c:735 do_replace net/ipv6/netfilter/ip6_tables.c:1154 [inline] do_ip6t_set_ctl+0x366/0x5e0 net/ipv6/netfilter/ip6_tables.c:1684 nf_sockopt net/netfilter/nf_sockopt.c:106 [inline] nf_setsockopt+0x2ad/0x2d0 net/netfilter/nf_sockopt.c:115 __sys_setsockopt+0x4a1/0x830 net/socket.c:2074 __do_sys_setsockopt net/socket.c:2090 [inline] __se_sys_setsockopt net/socket.c:2087 [inline] __x64_sys_setsockopt+0xb1/0xc0 net/socket.c:2087 do_syscall_64+0xcb/0x1c0 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x5c/0xc1 page last free stack trace: reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1176 [inline] free_pcp_prepare+0x1a4/0x290 mm/page_alloc.c:1233 free_unref_page_prepare mm/page_alloc.c:3085 [inline] free_unref_page mm/page_alloc.c:3134 [inline] free_the_page mm/page_alloc.c:4951 [inline] __free_pages+0x9c/0x250 mm/page_alloc.c:4959 __vunmap+0x7d7/0x910 mm/vmalloc.c:2260 cleanup_match net/ipv6/netfilter/ip6_tables.c:479 [inline] cleanup_entry+0x1e0/0x4a0 net/ipv6/netfilter/ip6_tables.c:663 translate_table+0x2166/0x2360 net/ipv6/netfilter/ip6_tables.c:746 do_replace net/ipv6/netfilter/ip6_tables.c:1154 [inline] do_ip6t_set_ctl+0x366/0x5e0 net/ipv6/netfilter/ip6_tables.c:1684 nf_sockopt net/netfilter/nf_sockopt.c:106 [inline] nf_setsockopt+0x2ad/0x2d0 net/netfilter/nf_sockopt.c:115 __sys_setsockopt+0x4a1/0x830 net/socket.c:2074 __do_sys_setsockopt net/socket.c:2090 [inline] __se_sys_setsockopt net/socket.c:2087 [inline] __x64_sys_setsockopt+0xb1/0xc0 net/socket.c:2087 do_syscall_64+0xcb/0x1c0 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x5c/0xc1 Memory state around the buggy address: ffff8881ed129f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff8881ed12a000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >ffff8881ed12a080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff8881ed12a100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff8881ed12a180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ================================================================== EXT4-fs error (device loop2): ext4_read_block_bitmap_nowait:430: comm syz-executor.2: Invalid block bitmap block 0 in block_group 0