syzbot


KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
Status: upstream: reported on 2021/04/13 05:55
Reported-by: syzbot+72ba979b6681c3369db4@syzkaller.appspotmail.com
First crash: 418d, last: 1d15h

Sample crash report:
loop5: detected capacity change from 0 to 65534
loop5: detected capacity change from 0 to 65534
==================================================================
BUG: KASAN: slab-out-of-bounds in reiserfs_xattr_get+0xe4/0x4f0 fs/reiserfs/xattr.c:681
Read of size 8 at addr ffff88807a3bc798 by task syz-executor.5/16564

CPU: 0 PID: 16564 Comm: syz-executor.5 Not tainted 5.18.0-syzkaller-04943-g7e062cda7d90 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
 print_address_description+0x65/0x4b0 mm/kasan/report.c:313
 print_report+0xf4/0x210 mm/kasan/report.c:429
 kasan_report+0xfb/0x130 mm/kasan/report.c:491
 reiserfs_xattr_get+0xe4/0x4f0 fs/reiserfs/xattr.c:681
 reiserfs_get_acl+0x7a/0x650 fs/reiserfs/xattr_acl.c:214
 get_acl+0x157/0x260 fs/posix_acl.c:152
 check_acl+0x35/0x150 fs/namei.c:306
 acl_permission_check fs/namei.c:351 [inline]
 generic_permission+0x388/0x4e0 fs/namei.c:404
 do_inode_permission fs/namei.c:458 [inline]
 inode_permission+0x22c/0x450 fs/namei.c:525
 may_open+0x2a4/0x400 fs/namei.c:3102
 do_open fs/namei.c:3475 [inline]
 path_openat+0x2569/0x2ec0 fs/namei.c:3610
 do_filp_open+0x277/0x4f0 fs/namei.c:3637
 do_sys_openat2+0x13b/0x500 fs/open.c:1213
 do_sys_open fs/open.c:1229 [inline]
 __do_sys_openat fs/open.c:1245 [inline]
 __se_sys_openat fs/open.c:1240 [inline]
 __x64_sys_openat+0x243/0x290 fs/open.c:1240
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x46/0xb0
RIP: 0033:0x7f99a8a3c024
Code: 84 00 00 00 00 00 44 89 54 24 0c e8 96 f9 ff ff 44 8b 54 24 0c 44 89 e2 48 89 ee 41 89 c0 bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 77 34 44 89 c7 89 44 24 0c e8 c8 f9 ff ff 8b 44
RSP: 002b:00007f99a9b04f10 EFLAGS: 00000293 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 0000000020000200 RCX: 00007f99a8a3c024
RDX: 0000000000010000 RSI: 0000000020000100 RDI: 00000000ffffff9c
RBP: 0000000020000100 R08: 0000000000000000 R09: 0000000020000000
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000010000
R13: 0000000020000100 R14: 00007f99a9b04fe0 R15: 0000000020061000
 </TASK>

Allocated by task 16564:
 kasan_save_stack mm/kasan/common.c:38 [inline]
 kasan_set_track mm/kasan/common.c:45 [inline]
 set_alloc_info mm/kasan/common.c:436 [inline]
 ____kasan_kmalloc+0xdc/0x110 mm/kasan/common.c:515
 kasan_kmalloc include/linux/kasan.h:234 [inline]
 __kmalloc+0x223/0x370 mm/slub.c:4417
 kmalloc_array include/linux/slab.h:628 [inline]
 kcalloc include/linux/slab.h:659 [inline]
 __list_lru_init+0x9f/0x530 mm/list_lru.c:571
 alloc_super+0x700/0x820 fs/super.c:272
 sget+0x20e/0x4f0 fs/super.c:613
 mount_bdev+0xe8/0x3a0 fs/super.c:1340
 legacy_get_tree+0xea/0x180 fs/fs_context.c:610
 vfs_get_tree+0x88/0x270 fs/super.c:1497
 do_new_mount+0x289/0xad0 fs/namespace.c:3040
 do_mount fs/namespace.c:3383 [inline]
 __do_sys_mount fs/namespace.c:3591 [inline]
 __se_sys_mount+0x2e3/0x3d0 fs/namespace.c:3568
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x46/0xb0

The buggy address belongs to the object at ffff88807a3bc600
 which belongs to the cache kmalloc-256 of size 256
The buggy address is located 152 bytes to the right of
 256-byte region [ffff88807a3bc600, ffff88807a3bc700)

The buggy address belongs to the physical page:
page:ffffea0001e8ef00 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x7a3bc
head:ffffea0001e8ef00 order:1 compound_mapcount:0 compound_pincount:0
flags: 0xfff00000010200(slab|head|node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000010200 ffffea0001eedb00 dead000000000004 ffff888011441b40
raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 1, migratetype Unmovable, gfp_mask 0x1d20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC|__GFP_HARDWALL), pid 18161, tgid 18159 (syz-executor.2), ts 701717874413, free_ts 699003715042
 prep_new_page mm/page_alloc.c:2441 [inline]
 get_page_from_freelist+0x72e/0x7a0 mm/page_alloc.c:4182
 __alloc_pages+0x26c/0x5f0 mm/page_alloc.c:5408
 alloc_slab_page+0x70/0xf0 mm/slub.c:1797
 allocate_slab+0x5e/0x520 mm/slub.c:1942
 new_slab mm/slub.c:2002 [inline]
 ___slab_alloc+0x41e/0xcd0 mm/slub.c:3002
 __slab_alloc mm/slub.c:3089 [inline]
 slab_alloc_node mm/slub.c:3180 [inline]
 slab_alloc mm/slub.c:3222 [inline]
 kmem_cache_alloc_trace+0x25c/0x310 mm/slub.c:3253
 kmalloc include/linux/slab.h:588 [inline]
 kzalloc include/linux/slab.h:721 [inline]
 subflow_create_ctx net/mptcp/subflow.c:1644 [inline]
 subflow_ulp_init+0x8f/0x4a0 net/mptcp/subflow.c:1724
 __tcp_set_ulp net/ipv4/tcp_ulp.c:139 [inline]
 tcp_set_ulp+0x428/0x4c0 net/ipv4/tcp_ulp.c:160
 mptcp_subflow_create_socket+0x63b/0xbe0 net/mptcp/subflow.c:1609
 __mptcp_socket_create net/mptcp/protocol.c:110 [inline]
 mptcp_init_sock+0x114/0x790 net/mptcp/protocol.c:2642
 inet6_create+0xaf2/0xe80 net/ipv6/af_inet6.c:257
 __sock_create+0x3fd/0x850 net/socket.c:1515
 sock_create net/socket.c:1566 [inline]
 __sys_socket_create net/socket.c:1603 [inline]
 __sys_socket+0x137/0x3a0 net/socket.c:1636
 __do_sys_socket net/socket.c:1649 [inline]
 __se_sys_socket net/socket.c:1647 [inline]
 __x64_sys_socket+0x76/0x80 net/socket.c:1647
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x46/0xb0
page last free stack trace:
 reset_page_owner include/linux/page_owner.h:24 [inline]
 free_pages_prepare mm/page_alloc.c:1356 [inline]
 free_pcp_prepare+0x812/0x900 mm/page_alloc.c:1406
 free_unref_page_prepare mm/page_alloc.c:3328 [inline]
 free_unref_page_list+0x12c/0x890 mm/page_alloc.c:3460
 release_pages+0x2a04/0x2cb0 mm/swap.c:980
 tlb_batch_pages_flush mm/mmu_gather.c:50 [inline]
 tlb_flush_mmu_free mm/mmu_gather.c:243 [inline]
 tlb_flush_mmu+0x780/0x910 mm/mmu_gather.c:250
 tlb_finish_mmu+0xcb/0x200 mm/mmu_gather.c:341
 exit_mmap+0x1dc/0x530 mm/mmap.c:3142
 __mmput+0x111/0x3a0 kernel/fork.c:1189
 exit_mm+0x211/0x2f0 kernel/exit.c:510
 do_exit+0x4ca/0x1eb0 kernel/exit.c:782
 do_group_exit+0x23b/0x2f0 kernel/exit.c:925
 get_signal+0x172f/0x1780 kernel/signal.c:2875
 arch_do_signal_or_restart+0x8d/0x750 arch/x86/kernel/signal.c:869
 exit_to_user_mode_loop+0x74/0x160 kernel/entry/common.c:166
 exit_to_user_mode_prepare+0xad/0x110 kernel/entry/common.c:201
 __syscall_exit_to_user_mode_work kernel/entry/common.c:283 [inline]
 syscall_exit_to_user_mode+0x2e/0x60 kernel/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x46/0xb0

Memory state around the buggy address:
 ffff88807a3bc680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff88807a3bc700: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff88807a3bc780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
                            ^
 ffff88807a3bc800: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff88807a3bc880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Crashes (38):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-smack-root 2022/05/26 01:48 upstream 7e062cda7d90 3037caa9 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/05/10 12:43 upstream 9be9ed2612b5 8b277b8e .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/04/29 16:33 upstream 38d741cb70b3 44a5ca63 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/04/05 19:35 upstream ce4c854ee868 0127c10f .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/03/31 13:49 upstream 787af64d05cd c4c32d8c .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/03/28 01:17 upstream f82da161ea75 89bc8608 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/03/26 06:34 upstream 52d543b5497c 89bc8608 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/03/25 17:14 upstream 34af78c4e616 89bc8608 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/03/19 22:22 upstream 97e9c8eb4bb1 e2d91b1d .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/02/28 23:35 upstream 719fce7539cd 45a13a73 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/02/18 07:22 upstream 9195e5e0adbb 3cd800e4 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/02/01 12:34 upstream 26291c54e111 c1c1631d .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/01/30 16:29 upstream 24f4db1f3a27 495e00c5 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/01/28 08:22 upstream 23a46422c561 495e00c5 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/01/11 22:32 upstream 6f38be8f2ccd 44d1319a .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/01/10 22:21 upstream 133d9c53c9dc ddb0ab8c .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/01/09 13:33 upstream 4634129ad9fd 2ca0d385 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/01/06 13:21 upstream 75acfdb6fd92 6acc789a .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/12/30 06:18 upstream eec4df26e24e 6cc879d4 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/10/31 11:28 upstream 180eca540ae0 098b5d53 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/10/25 07:20 upstream 87066fdd2e30 4f0000ee .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/10/05 17:04 upstream f6274b06e326 0a63fd36 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/10/01 07:01 upstream 4de593fb965f 1d849ab4 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/09/06 15:42 upstream 0319b848b155 6ca60148 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/08/22 19:53 upstream 1bdc3d5be7e1 b599f2fc .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/08/19 06:17 upstream d6d09a694205 a2fe1cb5 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/08/16 13:35 upstream 7c60610d4767 33c26cb7 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/08/10 11:25 upstream 9a73fa375d58 6972b106 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/07/22 15:03 upstream 3d5895cd3517 302e51de .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/06/12 00:27 upstream f21b807c3cf8 1ba81399 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/06/06 10:51 upstream f5b6eb1e0182 500c2339 .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/05/30 17:06 upstream b90e90f40b4f 325a8dab .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/04/14 01:33 upstream eebe426d32e1 a184b83e .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/04/08 01:29 upstream 3a22981230f9 6a81331a .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/04/03 19:38 upstream 57fbdb15ec42 6a81331a .config log report info KASAN: slab-out-of-bounds Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2022/03/09 10:55 upstream 330f4c53d3c2 9e8eaa75 .config log report info KASAN: use-after-free Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/10/03 23:44 upstream 9e1ff307c779 db0f5787 .config log report info KASAN: use-after-free Read in reiserfs_xattr_get
ci-upstream-kasan-gce-smack-root 2021/07/08 03:29 upstream 3dbdb38e2869 95793bce .config log report info KASAN: use-after-free Read in reiserfs_xattr_get