All of lore.kernel.org
 help / color / mirror / Atom feed
From: syzbot <syzbot+66c88846eb5fa7a16641@syzkaller.appspotmail.com>
To: christian.brauner@ubuntu.com, jack@suse.cz,
	linux-kernel@vger.kernel.org, reiserfs-devel@vger.kernel.org,
	syzkaller-bugs@googlegroups.com, yuehaibing@huawei.com
Subject: [syzbot] KASAN: use-after-free Read in reiserfs_fill_super (2)
Date: Wed, 08 Dec 2021 23:56:18 -0800	[thread overview]
Message-ID: <0000000000000d378505d2b1f18e@google.com> (raw)

Hello,

syzbot found the following issue on:

HEAD commit:    f81e94e91878 Add linux-next specific files for 20211125
git tree:       linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=17f9e455b00000
kernel config:  https://syzkaller.appspot.com/x/.config?x=be9183de0824e4d7
dashboard link: https://syzkaller.appspot.com/bug?extid=66c88846eb5fa7a16641
compiler:       gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2

Unfortunately, I don't have any reproducer for this issue yet.

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+66c88846eb5fa7a16641@syzkaller.appspotmail.com

==================================================================
BUG: KASAN: use-after-free in init_inode fs/reiserfs/inode.c:1325 [inline]
BUG: KASAN: use-after-free in reiserfs_read_locked_inode+0x1e47/0x2160 fs/reiserfs/inode.c:1574
Read of size 4 at addr ffff88808189c000 by task syz-executor.5/24610

CPU: 0 PID: 24610 Comm: syz-executor.5 Not tainted 5.16.0-rc2-next-20211125-syzkaller #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+0xcd/0x134 lib/dump_stack.c:106
 print_address_description.constprop.0.cold+0xa5/0x3ed mm/kasan/report.c:247
 __kasan_report mm/kasan/report.c:433 [inline]
 kasan_report.cold+0x83/0xdf mm/kasan/report.c:450
 init_inode fs/reiserfs/inode.c:1325 [inline]
 reiserfs_read_locked_inode+0x1e47/0x2160 fs/reiserfs/inode.c:1574
 reiserfs_fill_super+0x1350/0x2f80 fs/reiserfs/super.c:2071
 mount_bdev+0x34d/0x410 fs/super.c:1370
 legacy_get_tree+0x105/0x220 fs/fs_context.c:610
 vfs_get_tree+0x89/0x2f0 fs/super.c:1500
 do_new_mount fs/namespace.c:2988 [inline]
 path_mount+0x1320/0x1fa0 fs/namespace.c:3318
 do_mount fs/namespace.c:3331 [inline]
 __do_sys_mount fs/namespace.c:3539 [inline]
 __se_sys_mount fs/namespace.c:3516 [inline]
 __x64_sys_mount+0x27f/0x300 fs/namespace.c:3516
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f5e666f401a
Code: 48 c7 c2 bc ff ff ff f7 d8 64 89 02 b8 ff ff ff ff eb d2 e8 b8 04 00 00 0f 1f 84 00 00 00 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f5e65667fa8 EFLAGS: 00000206 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000020000200 RCX: 00007f5e666f401a
RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007f5e65668000
RBP: 00007f5e65668040 R08: 00007f5e65668040 R09: 0000000020000000
R10: 0000000000200000 R11: 0000000000000206 R12: 0000000020000000
R13: 0000000020000100 R14: 00007f5e65668000 R15: 0000000020011400
 </TASK>

The buggy address belongs to the page:
page:ffffea0002062700 refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x8189c
flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000000000 ffffea0002062748 ffff8880b9c40140 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 0x1100cca(GFP_HIGHUSER_MOVABLE), pid 21718, ts 549829566702, free_ts 550946257184
 prep_new_page mm/page_alloc.c:2433 [inline]
 get_page_from_freelist+0xa72/0x2f40 mm/page_alloc.c:4164
 __alloc_pages+0x1b2/0x500 mm/page_alloc.c:5376
 alloc_pages_vma+0xf3/0x7d0 mm/mempolicy.c:2153
 shmem_alloc_page+0x11f/0x1f0 mm/shmem.c:1579
 shmem_alloc_and_acct_page+0x161/0x10b0 mm/shmem.c:1604
 shmem_getpage_gfp+0xb2d/0x23a0 mm/shmem.c:1902
 shmem_fault+0x1b4/0x750 mm/shmem.c:2114
 __do_fault+0x10d/0x790 mm/memory.c:3845
 do_read_fault mm/memory.c:4160 [inline]
 do_fault mm/memory.c:4289 [inline]
 handle_pte_fault mm/memory.c:4547 [inline]
 __handle_mm_fault+0x2771/0x4170 mm/memory.c:4682
 handle_mm_fault+0x1c8/0x790 mm/memory.c:4780
 faultin_page mm/gup.c:939 [inline]
 __get_user_pages+0x522/0xfb0 mm/gup.c:1160
 populate_vma_page_range+0x24d/0x330 mm/gup.c:1492
 __mm_populate+0x1ea/0x3e0 mm/gup.c:1601
 mm_populate include/linux/mm.h:2734 [inline]
 vm_mmap_pgoff+0x20e/0x290 mm/util.c:524
 ksys_mmap_pgoff+0x79/0x5a0 mm/mmap.c:1629
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
page last free stack trace:
 reset_page_owner include/linux/page_owner.h:24 [inline]
 free_pages_prepare mm/page_alloc.c:1351 [inline]
 free_pcp_prepare+0x414/0xb60 mm/page_alloc.c:1403
 free_unref_page_prepare mm/page_alloc.c:3324 [inline]
 free_unref_page_list+0x1a9/0xfa0 mm/page_alloc.c:3440
 release_pages+0x3ed/0x1b30 mm/swap.c:980
 __pagevec_release+0x77/0x100 mm/swap.c:1000
 pagevec_release include/linux/pagevec.h:81 [inline]
 shmem_undo_range+0x94e/0x1b00 mm/shmem.c:957
 shmem_truncate_range mm/shmem.c:1056 [inline]
 shmem_evict_inode+0x3a4/0xbd0 mm/shmem.c:1138
 evict+0x2ed/0x6b0 fs/inode.c:639
 iput_final fs/inode.c:1719 [inline]
 iput.part.0+0x539/0x850 fs/inode.c:1745
 iput+0x58/0x70 fs/inode.c:1735
 dentry_unlink_inode+0x2b1/0x460 fs/dcache.c:376
 __dentry_kill+0x3c0/0x640 fs/dcache.c:582
 dentry_kill fs/dcache.c:708 [inline]
 dput+0x738/0xbc0 fs/dcache.c:888
 __fput+0x3ab/0x9f0 fs/file_table.c:293
 task_work_run+0xdd/0x1a0 kernel/task_work.c:164
 get_signal+0x1b01/0x28b0 kernel/signal.c:2628
 arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:868

Memory state around the buggy address:
 ffff88808189bf00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff88808189bf80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff88808189c000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                   ^
 ffff88808189c080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88808189c100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

                 reply	other threads:[~2021-12-09  7:56 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0000000000000d378505d2b1f18e@google.com \
    --to=syzbot+66c88846eb5fa7a16641@syzkaller.appspotmail.com \
    --cc=christian.brauner@ubuntu.com \
    --cc=jack@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=reiserfs-devel@vger.kernel.org \
    --cc=syzkaller-bugs@googlegroups.com \
    --cc=yuehaibing@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.