KASAN: use-after-free Read in do_xdp_generic

15 views
Skip to first unread message

syzbot

unread,
Jan 19, 2020, 3:11:09 AM1/19/20
to syzkaller-a...@googlegroups.com
Hello,

syzbot found the following crash on:

HEAD commit: b0b02162 Merge 5.4.13 into android-5.4
git tree: android-5.4
console output: https://syzkaller.appspot.com/x/log.txt?x=133fe495e00000
kernel config: https://syzkaller.appspot.com/x/.config?x=f6f472a6fc2c3095
dashboard link: https://syzkaller.appspot.com/bug?extid=cc4c4c13fdec936154bc
compiler: Android (6032204 based on r370808) clang version 10.0.1 (https://android.googlesource.com/toolchain/llvm-project 6e765c10313d15c02ab29977a82938f66742c3a9)

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

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

==================================================================
BUG: KASAN: use-after-free in is_multicast_ether_addr_64bits include/linux/etherdevice.h:136 [inline]
BUG: KASAN: use-after-free in netif_receive_generic_xdp net/core/dev.c:4294 [inline]
BUG: KASAN: use-after-free in do_xdp_generic+0x612/0x1500 net/core/dev.c:4392
Read of size 8 at addr ffff8880a0c997ff by task syz-executor.2/14686

CPU: 0 PID: 14686 Comm: syz-executor.2 Not tainted 5.4.13-syzkaller-00760-gb0b02162a4b8 #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+0x1b0/0x228 lib/dump_stack.c:118
print_address_description+0x96/0x5d0 mm/kasan/report.c:374
__kasan_report+0x14b/0x1c0 mm/kasan/report.c:506
kasan_report+0x26/0x50 mm/kasan/common.c:634
__asan_report_load8_noabort+0x14/0x20 mm/kasan/generic_report.c:132
is_multicast_ether_addr_64bits include/linux/etherdevice.h:136 [inline]
netif_receive_generic_xdp net/core/dev.c:4294 [inline]
do_xdp_generic+0x612/0x1500 net/core/dev.c:4392
tun_get_user+0x2498/0x3cd0 drivers/net/tun.c:1935
tun_chr_write_iter+0x134/0x1c0 drivers/net/tun.c:2022
do_iter_readv_writev+0x5fa/0x890 include/linux/fs.h:1909
do_iter_write+0x180/0x590 fs/read_write.c:973
vfs_writev fs/read_write.c:1018 [inline]
do_writev+0x2cd/0x560 fs/read_write.c:1061
__do_sys_writev fs/read_write.c:1134 [inline]
__se_sys_writev fs/read_write.c:1131 [inline]
__x64_sys_writev+0x7d/0x90 fs/read_write.c:1131
do_syscall_64+0xc0/0x100 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x45b011
Code: 75 14 b8 14 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 e4 b7 fb ff c3 48 83 ec 08 e8 fa 2c 00 00 48 89 04 24 b8 14 00 00 00 0f 05 <48> 8b 3c 24 48 89 c2 e8 43 2d 00 00 48 89 d0 48 83 c4 08 48 3d 01
RSP: 002b:00007fdbb8467ba0 EFLAGS: 00000293 ORIG_RAX: 0000000000000014
RAX: ffffffffffffffda RBX: 000000000000007e RCX: 000000000045b011
RDX: 0000000000000001 RSI: 00007fdbb8467c00 RDI: 00000000000000f0
RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000293 R12: 00000000ffffffff
R13: 0000000000000b4a R14: 00000000004cc099 R15: 000000000075bf2c

The buggy address belongs to the page:
page:ffffea0002832640 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0
raw: 4000000000000000 ffffea0002832648 ffffea0002832648 0000000000000000
raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
ffff8880a0c99680: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ffff8880a0c99700: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff8880a0c99780: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
^
ffff8880a0c99800: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ffff8880a0c99880: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================
------------[ cut here ]------------
Illegal XDP return value 4294967274, expect packet loss!
WARNING: CPU: 0 PID: 14686 at net/core/filter.c:6907 bpf_warn_invalid_xdp_action+0x5a/0x60 net/core/filter.c:6905
Modules linked in:
CPU: 0 PID: 14686 Comm: syz-executor.2 Tainted: G B 5.4.13-syzkaller-00760-gb0b02162a4b8 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:bpf_warn_invalid_xdp_action+0x5a/0x60 net/core/filter.c:6905
Code: e8 db 42 5f fe 83 fb 04 48 c7 c0 7b 59 56 84 48 c7 c6 83 59 56 84 48 0f 47 f0 48 c7 c7 4e 59 56 84 89 da 31 c0 e8 a6 25 36 fe <0f> 0b eb bc 66 90 55 48 89 e5 41 57 41 56 41 55 41 54 53 50 4c 89
RSP: 0018:ffff88817b4e7668 EFLAGS: 00010246
RAX: 0c08410b2d7e6c00 RBX: 00000000ffffffea RCX: 0000000000040000
RDX: ffffc90003adc000 RSI: 000000000003ffff RDI: 0000000000040000
RBP: ffff88817b4e7670 R08: ffffffff812ce090 R09: 0000000000000003
R10: ffffed102f69ce39 R11: 0000000000000004 R12: dffffc0000000000
R13: 00000000ffffffea R14: dffffc0000000000 R15: ffff88819c93d280
FS: 00007fdbb8468700(0000) GS:ffff8881dba00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000200001c0 CR3: 00000001d1a2d005 CR4: 00000000001606f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
netif_receive_generic_xdp net/core/dev.c:4343 [inline]
do_xdp_generic+0xd2d/0x1500 net/core/dev.c:4392
tun_get_user+0x2498/0x3cd0 drivers/net/tun.c:1935
tun_chr_write_iter+0x134/0x1c0 drivers/net/tun.c:2022
do_iter_readv_writev+0x5fa/0x890 include/linux/fs.h:1909
do_iter_write+0x180/0x590 fs/read_write.c:973
vfs_writev fs/read_write.c:1018 [inline]
do_writev+0x2cd/0x560 fs/read_write.c:1061
__do_sys_writev fs/read_write.c:1134 [inline]
__se_sys_writev fs/read_write.c:1131 [inline]
__x64_sys_writev+0x7d/0x90 fs/read_write.c:1131
do_syscall_64+0xc0/0x100 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x45b011
Code: 75 14 b8 14 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 e4 b7 fb ff c3 48 83 ec 08 e8 fa 2c 00 00 48 89 04 24 b8 14 00 00 00 0f 05 <48> 8b 3c 24 48 89 c2 e8 43 2d 00 00 48 89 d0 48 83 c4 08 48 3d 01
RSP: 002b:00007fdbb8467ba0 EFLAGS: 00000293 ORIG_RAX: 0000000000000014
RAX: ffffffffffffffda RBX: 000000000000007e RCX: 000000000045b011
RDX: 0000000000000001 RSI: 00007fdbb8467c00 RDI: 00000000000000f0
RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000293 R12: 00000000ffffffff
R13: 0000000000000b4a R14: 00000000004cc099 R15: 000000000075bf2c
---[ end trace 4117143ffacad283 ]---


---
This bug 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 syzk...@googlegroups.com.

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

syzbot

unread,
May 18, 2020, 5:26:11 AM5/18/20
to syzkaller-a...@googlegroups.com
Auto-closing this bug as obsolete.
Crashes did not happen for a while, no reproducer and no activity.
Reply all
Reply to author
Forward
0 new messages