syzbot


KASAN: use-after-free Read in tick_sched_handle (3)

Status: fixed on 2019/11/09 22:22
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+999bca54de2ee169c021@syzkaller.appspotmail.com
Fix commit: bc6e019b6ee6 fou: Prevent unbounded recursion in GUE error handler also with UDP-Lite
First crash: 2126d, last: 1984d
Fix bisection: fixed by (bisect log) :
commit bc6e019b6ee65ff4ebf3ca272f774cf6c67db669
Author: Stefano Brivio <sbrivio@redhat.com>
Date: Thu Jan 3 20:43:34 2019 +0000

  fou: Prevent unbounded recursion in GUE error handler also with UDP-Lite

  
Discussions (3)
Title Replies (including bot) Last reply
KASAN: use-after-free Read in tick_sched_handle (3) 3 (5) 2019/11/08 12:51
Reminder: 99 open syzbot bugs in net subsystem 14 (14) 2019/07/31 15:13
Reminder: 94 open syzbot bugs in net subsystem 1 (1) 2019/06/25 05:48
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: use-after-free Read in tick_sched_handle (2) kernel 1 2335d 2335d 0/27 closed as invalid on 2018/02/14 13:55
upstream KASAN: use-after-free Read in tick_sched_handle 1 2499d 2424d 0/27 closed as invalid on 2017/10/31 11:38

Sample crash report:
IPv6: ADDRCONF(NETDEV_CHANGE): hsr0: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready
IPv6: ADDRCONF(NETDEV_UP): vxcan1: link is not ready
8021q: adding VLAN 0 to HW filter on device batadv0
==================================================================
BUG: KASAN: use-after-free in tick_sched_handle+0x16f/0x190 kernel/time/tick-sched.c:161
Read of size 8 at addr ffff88808de26030 by task syz-executor447/8097

CPU: 0 PID: 8097 Comm: syz-executor447 Not tainted 5.0.0-rc2 #24
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1db/0x2d0 lib/dump_stack.c:113
 print_address_description.cold+0x7c/0x20d mm/kasan/report.c:187
 kasan_report.cold+0x1b/0x40 mm/kasan/report.c:317
 __asan_report_load8_noabort+0x14/0x20 mm/kasan/generic_report.c:135
 tick_sched_handle+0x16f/0x190 kernel/time/tick-sched.c:161
 tick_sched_timer+0x47/0x130 kernel/time/tick-sched.c:1271
 __run_hrtimer kernel/time/hrtimer.c:1389 [inline]
 __hrtimer_run_queues+0x3a7/0x1050 kernel/time/hrtimer.c:1451
 hrtimer_interrupt+0x314/0x770 kernel/time/hrtimer.c:1509
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1035 [inline]
 smp_apic_timer_interrupt+0x18d/0x760 arch/x86/kernel/apic/apic.c:1060
 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:807
 </IRQ>

The buggy address belongs to the page:
page:ffffea0002378980 count:0 mapcount:0 mapping:0000000000000000 index:0xffff88808de26d00
flags: 0x1fffc0000000000()
raw: 01fffc0000000000 dead000000000100 dead000000000200 0000000000000000
raw: ffff88808de26d00 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff88808de25f00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88808de25f80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff88808de26000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                                     ^
 ffff88808de26080: f1 f1 f1 f1 04 f3 f3 f3 ff 00 00 00 00 00 00 00
 ffff88808de26100: 00 00 00 00 00 00 00 f1 f1 f1 f1 f8 f3 f3 f3 ff
==================================================================

Crashes (12):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/01/14 02:49 upstream 1c7fc5cbc339 c3f3344c .config console log report syz C ci-upstream-kasan-gce
2019/01/14 01:00 upstream 6b529fb0a3ea c3f3344c .config console log report syz C ci-upstream-kasan-gce-root
2019/01/14 03:20 upstream 6b529fb0a3ea c3f3344c .config console log report syz C ci-upstream-kasan-gce-386
2018/12/17 00:33 net-next-old 9c46ae0ea1ee def91db3 .config console log report syz C ci-upstream-net-kasan-gce
2018/11/23 23:01 net-next-old 2882b06ddaa5 eb9ed731 .config console log report syz C ci-upstream-net-kasan-gce
2018/11/19 15:04 net-next-old bae4e109837b adf636a8 .config console log report syz C ci-upstream-net-kasan-gce
2018/12/23 19:22 linux-next 6648e120dd1a e3bd7ab8 .config console log report syz C ci-upstream-linux-next-kasan-gce-root
2018/12/28 00:17 upstream b71acb0e3721 af317504 .config console log report ci-upstream-kasan-gce-selinux-root
2019/01/04 16:08 net-old 96d4f267e40f 0127e3ba .config console log report ci-upstream-net-this-kasan-gce
2018/12/16 13:14 net-next-old c151acc6e9ff def91db3 .config console log report ci-upstream-net-kasan-gce
2018/12/12 11:32 net-next-old e1a76515b0c2 c3b10a5d .config console log report ci-upstream-net-kasan-gce
2018/08/24 20:14 net-next-old 2ad0d5269970 9b0f5c75 .config console log report ci-upstream-net-kasan-gce
* Struck through repros no longer work on HEAD.