syzbot


KASAN: stack-out-of-bounds Read in __free_filter

Status: fixed on 2018/05/08 18:30
Subsystems: trace
[Documentation on labels]
Reported-by: syzbot+dadcc936587643d7f568@syzkaller.appspotmail.com
Fix commit: 0b3dec05dbbc tracing: Enforce passing in filter=NULL to create_filter()
First crash: 2205d, last: 2196d
Discussions (2)
Title Replies (including bot) Last reply
[PATCH 5/5] tracing: Enforce passing in filter=NULL to create_filter() 1 (1) 2018/04/12 01:54
KASAN: stack-out-of-bounds Read in __free_filter 4 (5) 2018/04/11 15:06

Sample crash report:
RDX: 000000002099aff9 RSI: 0000000040082406 RDI: 0000000000000003
RBP: 00000000006cb018 R08: 0000000000000001 R09: 00007ffe76420032
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000004
R13: ffffffffffffffff R14: 0000000000000000 R15: 0000000000000000
==================================================================
BUG: KASAN: stack-out-of-bounds in __read_once_size include/linux/compiler.h:188 [inline]
BUG: KASAN: stack-out-of-bounds in free_prog kernel/trace/trace_events_filter.c:988 [inline]
BUG: KASAN: stack-out-of-bounds in __free_filter.part.6+0x1ac/0x1d0 kernel/trace/trace_events_filter.c:1012
Read of size 8 at addr ffff8801b2cd7698 by task syzkaller788882/4452

CPU: 0 PID: 4452 Comm: syzkaller788882 Not tainted 4.16.0+ #17
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+0x1b9/0x294 lib/dump_stack.c:113
 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
 __read_once_size include/linux/compiler.h:188 [inline]
 free_prog kernel/trace/trace_events_filter.c:988 [inline]
 __free_filter.part.6+0x1ac/0x1d0 kernel/trace/trace_events_filter.c:1012
 __free_filter kernel/trace/trace_events_filter.c:1009 [inline]
 ftrace_profile_set_filter+0x159/0x2b0 kernel/trace/trace_events_filter.c:2053
 perf_event_set_filter+0x248/0x1230 kernel/events/core.c:9064
 _perf_ioctl+0x84c/0x1650 kernel/events/core.c:5056
 perf_ioctl+0x59/0x80 kernel/events/core.c:5107
 vfs_ioctl fs/ioctl.c:46 [inline]
 file_ioctl fs/ioctl.c:500 [inline]
 do_vfs_ioctl+0x1cf/0x1650 fs/ioctl.c:684
 ksys_ioctl+0xa9/0xd0 fs/ioctl.c:701
 SYSC_ioctl fs/ioctl.c:708 [inline]
 SyS_ioctl+0x24/0x30 fs/ioctl.c:706
 do_syscall_64+0x29e/0x9d0 arch/x86/entry/common.c:287
 entry_SYSCALL_64_after_hwframe+0x42/0xb7
RIP: 0033:0x440519
RSP: 002b:00007ffe7642b3a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 0000000000440519
RDX: 000000002099aff9 RSI: 0000000040082406 RDI: 0000000000000003
RBP: 00000000006cb018 R08: 0000000000000001 R09: 00007ffe76420032
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000004
R13: ffffffffffffffff R14: 0000000000000000 R15: 0000000000000000

The buggy address belongs to the page:
page:ffffea0006cb35c0 count:0 mapcount:0 mapping:0000000000000000 index:0x0
flags: 0x2fffc0000000000()
raw: 02fffc0000000000 0000000000000000 0000000000000000 00000000ffffffff
raw: 0000000000000000 ffffea0006cb0101 0000000000000000 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff8801b2cd7580: 00 00 00 00 00 00 00 f1 f1 f1 f1 00 f2 f2 f2 f3
 ffff8801b2cd7600: f3 f3 f3 00 00 00 00 00 00 00 00 00 00 f1 f1 f1
>ffff8801b2cd7680: f1 00 f2 f2 f2 f3 f3 f3 f3 00 00 00 00 00 00 00
                            ^
 ffff8801b2cd7700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1
 ffff8801b2cd7780: f1 f1 00 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f2 f2
==================================================================

Crashes (41):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/04/11 09:37 upstream b284d4d5a678 8b8de427 .config console log report syz C ci-upstream-kasan-gce-root
2018/04/12 09:24 upstream b284d4d5a678 9cd56d71 .config console log report ci-upstream-kasan-gce
2018/04/12 03:39 upstream b284d4d5a678 9cd56d71 .config console log report ci-upstream-kasan-gce-root
2018/04/12 01:01 upstream b284d4d5a678 9cd56d71 .config console log report ci-upstream-kasan-gce
2018/04/11 23:54 upstream b284d4d5a678 9cd56d71 .config console log report ci-upstream-kasan-gce-root
2018/04/11 23:53 upstream b284d4d5a678 9cd56d71 .config console log report ci-upstream-kasan-gce-root
2018/04/11 22:23 upstream b284d4d5a678 9cd56d71 .config console log report ci-upstream-kasan-gce-root
2018/04/11 22:21 upstream b284d4d5a678 9cd56d71 .config console log report ci-upstream-kasan-gce-root
2018/04/11 22:15 upstream b284d4d5a678 9cd56d71 .config console log report ci-upstream-kasan-gce
2018/04/11 21:58 upstream b284d4d5a678 9cd56d71 .config console log report ci-upstream-kasan-gce
2018/04/11 18:11 upstream b284d4d5a678 8b8de427 .config console log report ci-upstream-kasan-gce
2018/04/11 16:17 upstream b284d4d5a678 8b8de427 .config console log report ci-upstream-kasan-gce
2018/04/11 14:59 upstream b284d4d5a678 8b8de427 .config console log report ci-upstream-kasan-gce-root
2018/04/11 14:58 upstream b284d4d5a678 8b8de427 .config console log report ci-upstream-kasan-gce
2018/04/11 13:43 upstream b284d4d5a678 8b8de427 .config console log report ci-upstream-kasan-gce-root
2018/04/11 13:21 upstream b284d4d5a678 8b8de427 .config console log report ci-upstream-kasan-gce
2018/04/11 12:30 upstream b284d4d5a678 8b8de427 .config console log report ci-upstream-kasan-gce-root
2018/04/11 11:51 upstream b284d4d5a678 8b8de427 .config console log report ci-upstream-kasan-gce-root
2018/04/11 10:40 upstream b284d4d5a678 8b8de427 .config console log report ci-upstream-kasan-gce
2018/04/11 10:21 upstream b284d4d5a678 8b8de427 .config console log report ci-upstream-kasan-gce-root
2018/04/11 10:20 upstream b284d4d5a678 8b8de427 .config console log report ci-upstream-kasan-gce
2018/04/11 09:25 upstream b284d4d5a678 8b8de427 .config console log report ci-upstream-kasan-gce-root
2018/04/20 18:24 bpf-next 878a4d328104 cc402841 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/20 14:25 bpf-next 878a4d328104 cc402841 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/20 06:26 bpf-next 34df9d37abe0 eae05cb0 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/20 01:37 bpf-next 34df9d37abe0 eae05cb0 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/19 15:47 bpf-next 7f3249fb1231 3642839c .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/19 15:22 bpf-next 7f3249fb1231 3642839c .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/19 14:50 bpf-next 7f3249fb1231 3642839c .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/19 08:27 bpf-next 7f3249fb1231 d1b2ef69 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/19 00:05 bpf-next 7f3249fb1231 829f0234 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/17 15:05 bpf-next 5d1365940a68 b80fd3b5 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/16 22:25 bpf-next 5d1365940a68 b80fd3b5 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/16 14:02 bpf-next 5d1365940a68 802ac912 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/16 13:17 bpf-next 5d1365940a68 802ac912 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/16 10:23 bpf-next 5d1365940a68 802ac912 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/16 10:20 bpf-next 5d1365940a68 802ac912 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/16 10:19 bpf-next 5d1365940a68 802ac912 .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/16 09:58 bpf-next 5d1365940a68 7a67784c .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/16 09:58 bpf-next 5d1365940a68 7a67784c .config console log report ci-upstream-bpf-next-kasan-gce
2018/04/16 09:50 bpf-next 5d1365940a68 7a67784c .config console log report ci-upstream-bpf-next-kasan-gce
* Struck through repros no longer work on HEAD.