Re: KASAN: stack-out-of-bounds Read in __schedule (2)

From: Dmitry Vyukov
Date: Mon Dec 31 2018 - 01:38:15 EST


On Thu, Dec 6, 2018 at 8:51 PM syzbot
<syzbot+df28818b7ebe8e7d704e@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Hello,
>
> syzbot found the following crash on:
>
> HEAD commit: d08970904582 Merge tag 'for-4.20-rc5-tag' of git://git.ker..
> git tree: upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=106a5dd5400000
> kernel config: https://syzkaller.appspot.com/x/.config?x=b9cc5a440391cbfd
> dashboard link: https://syzkaller.appspot.com/bug?extid=df28818b7ebe8e7d704e
> compiler: gcc (GCC) 8.0.1 20180413 (experimental)
> userspace arch: i386
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12940cfb400000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=16fb5e25400000
>
> IMPORTANT: if you fix the bug, please add the following tag to the commit:
> Reported-by: syzbot+df28818b7ebe8e7d704e@xxxxxxxxxxxxxxxxxxxxxxxxx


Since this involves OOMs:

#syz dup: kernel panic: corrupted stack end in wb_workfn



> kmem_cache 161KB 165KB
> Out of memory: Kill process 7764 (syz-executor613) score 0 or sacrifice
> child
> Killed process 7770 (syz-executor613) total-vm:18964kB, anon-rss:2124kB,
> file-rss:4kB, shmem-rss:0kB
> oom_reaper: reaped process 7770 (syz-executor613), now anon-rss:0kB,
> file-rss:0kB, shmem-rss:0kB
> ==================================================================
> BUG: KASAN: stack-out-of-bounds in schedule_debug kernel/sched/core.c:3284
> [inline]
> BUG: KASAN: stack-out-of-bounds in __schedule+0x1c1b/0x21d0
> kernel/sched/core.c:3394
> Read of size 8 at addr ffff8881ce710000 by task kworker/u4:4/2620
>
> CPU: 1 PID: 2620 Comm: kworker/u4:4 Not tainted 4.20.0-rc5+ #266
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
> Google 01/01/2011
> Workqueue: writeback wb_workfn (flush-8:0)
> Call Trace:
>
> The buggy address belongs to the page:
> page:ffffea000739c400 count:1 mapcount:0 mapping:0000000000000000 index:0x0
> flags: 0x2fffc0000000000()
> raw: 02fffc0000000000 dead000000000100 dead000000000200 0000000000000000
> raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000
> page dumped because: kasan: bad access detected
>
> Memory state around the buggy address:
> ffff8881ce70ff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1
> ffff8881ce70ff80: f1 00 00 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f2 f2 f2
> > ffff8881ce710000: f2 00 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f2 f2 f2
> ^
> ffff8881ce710080: f2 00 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00
> ffff8881ce710100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> ==================================================================
> Kernel panic - not syncing: panic_on_warn set ...
> CPU: 1 PID: 2620 Comm: kworker/u4:4 Tainted: G B 4.20.0-rc5+
> #266
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
> Google 01/01/2011
> Workqueue: writeback wb_workfn (flush-8:0)
> Call Trace:
> oom_reaper: reaped process 7789 (syz-executor613), now anon-rss:0kB,
> file-rss:0kB, shmem-rss:0kB
> rsyslogd invoked oom-killer: gfp_mask=0x6200ca(GFP_HIGHUSER_MOVABLE),
> nodemask=(null), order=0, oom_score_adj=0
> rsyslogd cpuset=/ mems_allowed=0
> Kernel Offset: disabled
> Rebooting in 86400 seconds..
>
>
> ---
> 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 syzkaller@xxxxxxxxxxxxxxxxx
>
> syzbot will keep track of this bug report. See:
> https://goo.gl/tpsmEJ#bug-status-tracking for how to communicate with
> syzbot.
> syzbot can test patches for this bug, for details see:
> https://goo.gl/tpsmEJ#testing-patches