All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <keescook@chromium.org>
To: "Fabio M. De Francesco" <fmdefrancesco@gmail.com>
Cc: ebiederm@xmission.com, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linux-next@vger.kernel.org, sfr@canb.auug.org.au,
	syzkaller-bugs@googlegroups.com, viro@zeniv.linux.org.uk,
	syzbot <syzbot+3250d9c8925ef29e975f@syzkaller.appspotmail.com>,
	Ira Weiny <ira.weiny@intel.com>
Subject: Re: [syzbot] linux-next boot error: BUG: unable to handle kernel paging request in kernel_execve
Date: Thu, 11 Aug 2022 08:33:16 -0700	[thread overview]
Message-ID: <202208110830.8F528D6737@keescook> (raw)
In-Reply-To: <0000000000008c0ba505e5f22066@google.com>

Hi Fabio,

It seems likely that the kmap change[1] might be causing this crash. Is
there a boot-time setup race between kmap being available and early umh
usage?

-Kees

[1] https://git.kernel.org/linus/c6e8e36c6ae4b11bed5643317afb66b6c3cadba8

On Thu, Aug 11, 2022 at 12:29:34AM -0700, syzbot wrote:
> Hello,
> 
> syzbot found the following issue on:
> 
> HEAD commit:    bc6c6584ffb2 Add linux-next specific files for 20220810
> git tree:       linux-next
> console output: https://syzkaller.appspot.com/x/log.txt?x=115034c3080000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=5784be4315a4403b
> dashboard link: https://syzkaller.appspot.com/bug?extid=3250d9c8925ef29e975f
> compiler:       gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
> 
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+3250d9c8925ef29e975f@syzkaller.appspotmail.com
> 
> BUG: unable to handle page fault for address: ffffdc0000000000
> #PF: supervisor read access in kernel mode
> #PF: error_code(0x0000) - not-present page
> PGD 11826067 P4D 11826067 PUD 0 
> Oops: 0000 [#1] PREEMPT SMP KASAN
> CPU: 0 PID: 1100 Comm: kworker/u4:5 Not tainted 5.19.0-next-20220810-syzkaller #0
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022
> RIP: 0010:strnlen+0x3b/0x70 lib/string.c:504
> Code: 74 3c 48 bb 00 00 00 00 00 fc ff df 49 89 fc 48 89 f8 eb 09 48 83 c0 01 48 39 e8 74 1e 48 89 c2 48 89 c1 48 c1 ea 03 83 e1 07 <0f> b6 14 1a 38 ca 7f 04 84 d2 75 11 80 38 00 75 d9 4c 29 e0 48 83
> RSP: 0000:ffffc90005c5fe10 EFLAGS: 00010246
> RAX: ffff000000000000 RBX: dffffc0000000000 RCX: 0000000000000000
> RDX: 1fffe00000000000 RSI: 0000000000020000 RDI: ffff000000000000
> RBP: ffff000000020000 R08: 0000000000000005 R09: 0000000000000000
> R10: 0000000000000006 R11: 0000000000000000 R12: ffff000000000000
> R13: ffff88814764cc00 R14: ffff000000000000 R15: ffff88814764cc00
> FS:  0000000000000000(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: ffffdc0000000000 CR3: 000000000bc8e000 CR4: 00000000003506f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> Call Trace:
>  <TASK>
>  strnlen include/linux/fortify-string.h:119 [inline]
>  copy_string_kernel+0x26/0x250 fs/exec.c:616
>  copy_strings_kernel+0xb3/0x190 fs/exec.c:655
>  kernel_execve+0x377/0x500 fs/exec.c:1998
>  call_usermodehelper_exec_async+0x2e3/0x580 kernel/umh.c:112
>  ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306
>  </TASK>
> Modules linked in:
> CR2: ffffdc0000000000
> ---[ end trace 0000000000000000 ]---
> RIP: 0010:strnlen+0x3b/0x70 lib/string.c:504
> Code: 74 3c 48 bb 00 00 00 00 00 fc ff df 49 89 fc 48 89 f8 eb 09 48 83 c0 01 48 39 e8 74 1e 48 89 c2 48 89 c1 48 c1 ea 03 83 e1 07 <0f> b6 14 1a 38 ca 7f 04 84 d2 75 11 80 38 00 75 d9 4c 29 e0 48 83
> RSP: 0000:ffffc90005c5fe10 EFLAGS: 00010246
> RAX: ffff000000000000 RBX: dffffc0000000000 RCX: 0000000000000000
> RDX: 1fffe00000000000 RSI: 0000000000020000 RDI: ffff000000000000
> RBP: ffff000000020000 R08: 0000000000000005 R09: 0000000000000000
> R10: 0000000000000006 R11: 0000000000000000 R12: ffff000000000000
> R13: ffff88814764cc00 R14: ffff000000000000 R15: ffff88814764cc00
> FS:  0000000000000000(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: ffffdc0000000000 CR3: 000000000bc8e000 CR4: 00000000003506f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> ----------------
> Code disassembly (best guess):
>    0:	74 3c                	je     0x3e
>    2:	48 bb 00 00 00 00 00 	movabs $0xdffffc0000000000,%rbx
>    9:	fc ff df
>    c:	49 89 fc             	mov    %rdi,%r12
>    f:	48 89 f8             	mov    %rdi,%rax
>   12:	eb 09                	jmp    0x1d
>   14:	48 83 c0 01          	add    $0x1,%rax
>   18:	48 39 e8             	cmp    %rbp,%rax
>   1b:	74 1e                	je     0x3b
>   1d:	48 89 c2             	mov    %rax,%rdx
>   20:	48 89 c1             	mov    %rax,%rcx
>   23:	48 c1 ea 03          	shr    $0x3,%rdx
>   27:	83 e1 07             	and    $0x7,%ecx
> * 2a:	0f b6 14 1a          	movzbl (%rdx,%rbx,1),%edx <-- trapping instruction
>   2e:	38 ca                	cmp    %cl,%dl
>   30:	7f 04                	jg     0x36
>   32:	84 d2                	test   %dl,%dl
>   34:	75 11                	jne    0x47
>   36:	80 38 00             	cmpb   $0x0,(%rax)
>   39:	75 d9                	jne    0x14
>   3b:	4c 29 e0             	sub    %r12,%rax
>   3e:	48                   	rex.W
>   3f:	83                   	.byte 0x83
> 
> 
> ---
> This report 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@googlegroups.com.
> 
> syzbot will keep track of this issue. See:
> https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

-- 
Kees Cook

  reply	other threads:[~2022-08-11 15:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-11  7:29 [syzbot] linux-next boot error: BUG: unable to handle kernel paging request in kernel_execve syzbot
2022-08-11 15:33 ` Kees Cook [this message]
2022-08-11 17:39   ` Ira Weiny
2022-08-11 18:51     ` Ira Weiny
2022-08-11 21:00       ` Kees Cook
2022-08-12  0:11         ` Ira Weiny
2022-08-12  9:29           ` Dmitry Vyukov
2022-08-12 18:44             ` Kees Cook

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=202208110830.8F528D6737@keescook \
    --to=keescook@chromium.org \
    --cc=ebiederm@xmission.com \
    --cc=fmdefrancesco@gmail.com \
    --cc=ira.weiny@intel.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-next@vger.kernel.org \
    --cc=sfr@canb.auug.org.au \
    --cc=syzbot+3250d9c8925ef29e975f@syzkaller.appspotmail.com \
    --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.