From: syzbot <syzbot+84182572be3bf4a0f9b9@syzkaller.appspotmail.com>
To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
syzkaller-bugs@googlegroups.com, viro@zeniv.linux.org.uk
Subject: KASAN: use-after-free Read in __fput (2)
Date: Thu, 19 Apr 2018 09:13:01 -0700 [thread overview]
Message-ID: <00000000000083a5fd056a35d88d@google.com> (raw)
Hello,
syzbot hit the following crash on net-next commit
17dec0a949153d9ac00760ba2f5b78cb583e995f (Wed Apr 4 02:15:32 2018 +0000)
Merge branch 'userns-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
syzbot dashboard link:
https://syzkaller.appspot.com/bug?extid=84182572be3bf4a0f9b9
Unfortunately, I don't have any reproducer for this crash yet.
Raw console output:
https://syzkaller.appspot.com/x/log.txt?id=6611189933015040
Kernel config:
https://syzkaller.appspot.com/x/.config?id=-2735707888269579554
compiler: gcc (GCC) 8.0.1 20180301 (experimental)
IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+84182572be3bf4a0f9b9@syzkaller.appspotmail.com
It will help syzbot understand when the bug is fixed. See footer for
details.
If you forward the report, please keep this part and the footer.
==================================================================
BUG: KASAN: use-after-free in fsnotify_close include/linux/fsnotify.h:233
[inline]
BUG: KASAN: use-after-free in __fput+0x807/0x890 fs/file_table.c:195
Read of size 8 at addr ffff8801c96aa1c8 by task syz-executor1/10565
CPU: 0 PID: 10565 Comm: syz-executor1 Not tainted 4.16.0+ #2
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:17 [inline]
dump_stack+0x1b9/0x29f lib/dump_stack.c:53
print_address_description+0x6c/0x20b mm/kasan/report.c:256
kasan_report_error mm/kasan/report.c:354 [inline]
kasan_report.cold.7+0xac/0x2f5 mm/kasan/report.c:412
__asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433
fsnotify_close include/linux/fsnotify.h:233 [inline]
__fput+0x807/0x890 fs/file_table.c:195
____fput+0x15/0x20 fs/file_table.c:243
task_work_run+0x1e4/0x290 kernel/task_work.c:113
exit_task_work include/linux/task_work.h:22 [inline]
do_exit+0x1aee/0x2730 kernel/exit.c:865
do_group_exit+0x16f/0x430 kernel/exit.c:968
get_signal+0x886/0x1960 kernel/signal.c:2469
do_signal+0x90/0x2020 arch/x86/kernel/signal.c:810
exit_to_usermode_loop+0x28a/0x310 arch/x86/entry/common.c:162
prepare_exit_to_usermode arch/x86/entry/common.c:196 [inline]
syscall_return_slowpath arch/x86/entry/common.c:265 [inline]
do_syscall_64+0x792/0x9d0 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x42/0xb7
RIP: 0033:0x455259
RSP: 002b:00007efdb432bce8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 000000000072bf80 RCX: 0000000000455259
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000000072bf80
RBP: 000000000072bf80 R08: 0000000000000000 R09: 000000000072bf58
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000a3e81f R14: 00007efdb432c9c0 R15: 0000000000000001
Allocated by task 10558:
save_stack+0x43/0xd0 mm/kasan/kasan.c:447
set_track mm/kasan/kasan.c:459 [inline]
kasan_kmalloc+0xc4/0xe0 mm/kasan/kasan.c:552
kasan_slab_alloc+0x12/0x20 mm/kasan/kasan.c:489
slab_post_alloc_hook mm/slab.h:443 [inline]
slab_alloc mm/slab.c:3380 [inline]
kmem_cache_alloc+0x11b/0x760 mm/slab.c:3540
__d_alloc+0xc1/0xc00 fs/dcache.c:1610
d_alloc_pseudo+0x1d/0x30 fs/dcache.c:1732
sock_alloc_file+0x157/0x4e0 net/socket.c:401
__sys_accept4+0x28d/0x8a0 net/socket.c:1580
SYSC_accept4 net/socket.c:1626 [inline]
SyS_accept4+0x2c/0x40 net/socket.c:1623
do_syscall_64+0x29e/0x9d0 arch/x86/entry/common.c:287
entry_SYSCALL_64_after_hwframe+0x42/0xb7
Freed by task 10565:
save_stack+0x43/0xd0 mm/kasan/kasan.c:447
set_track mm/kasan/kasan.c:459 [inline]
__kasan_slab_free+0x11a/0x170 mm/kasan/kasan.c:520
kasan_slab_free+0xe/0x10 mm/kasan/kasan.c:527
__cache_free mm/slab.c:3486 [inline]
kmem_cache_free+0x86/0x2d0 mm/slab.c:3744
__d_free fs/dcache.c:266 [inline]
dentry_free+0xe9/0x170 fs/dcache.c:342
__dentry_kill+0x516/0x770 fs/dcache.c:589
dentry_kill fs/dcache.c:616 [inline]
dput.part.25+0x7cb/0x9a0 fs/dcache.c:831
dput+0x1f/0x30 fs/dcache.c:795
path_put+0x31/0x70 fs/namei.c:481
free_fs_struct+0x22/0x60 fs/fs_struct.c:90
exit_fs+0xf3/0x130 fs/fs_struct.c:107
do_exit+0xf58/0x2730 kernel/exit.c:861
do_group_exit+0x16f/0x430 kernel/exit.c:968
get_signal+0x886/0x1960 kernel/signal.c:2469
do_signal+0x90/0x2020 arch/x86/kernel/signal.c:810
exit_to_usermode_loop+0x28a/0x310 arch/x86/entry/common.c:162
prepare_exit_to_usermode arch/x86/entry/common.c:196 [inline]
syscall_return_slowpath arch/x86/entry/common.c:265 [inline]
do_syscall_64+0x792/0x9d0 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x42/0xb7
The buggy address belongs to the object at ffff8801c96aa170
which belongs to the cache dentry(29:syz1) of size 288
The buggy address is located 88 bytes inside of
288-byte region [ffff8801c96aa170, ffff8801c96aa290)
The buggy address belongs to the page:
page:ffffea000725aa80 count:1 mapcount:0 mapping:ffff8801c96aa000 index:0x0
flags: 0x2fffc0000000100(slab)
raw: 02fffc0000000100 ffff8801c96aa000 0000000000000000 000000010000000b
raw: ffffea00072dee20 ffffea000725dda0 ffff8801d8328c00 ffff8801b45ba000
page dumped because: kasan: bad access detected
page->mem_cgroup:ffff8801b45ba000
Memory state around the buggy address:
ffff8801c96aa080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff8801c96aa100: fb fb fb fb fc fc fc fc fc fc fc fc fc fc fb fb
> ffff8801c96aa180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
ffff8801c96aa200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff8801c96aa280: fb fb fc fc fc fc fc fc fc fc fc fc fb fb fb fb
==================================================================
---
This bug is generated by a dumb bot. It may contain errors.
See https://goo.gl/tpsmEJ for details.
Direct all questions to syzkaller@googlegroups.com.
syzbot will keep track of this bug report.
If you forgot to add the Reported-by tag, once the fix for this bug is
merged
into any tree, please reply to this email with:
#syz fix: exact-commit-title
To mark this as a duplicate of another syzbot report, please reply with:
#syz dup: exact-subject-of-another-report
If it's a one-off invalid bug report, please reply with:
#syz invalid
Note: if the crash happens again, it will cause creation of a new bug
report.
Note: all commands must start from beginning of the line in the email body.
reply other threads:[~2018-04-19 16:13 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=00000000000083a5fd056a35d88d@google.com \
--to=syzbot+84182572be3bf4a0f9b9@syzkaller.appspotmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=syzkaller-bugs@googlegroups.com \
--cc=viro@zeniv.linux.org.uk \
/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.