mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: syzbot <syzbot+5ebeb3089ea6439c37be@syzkaller.appspotmail.com>
To: brads@mainlining.org
Cc: audit@vger.kernel.org, brads@mainlining.org, eparis@redhat.com,
	 linux-integrity@vger.kernel.org, linux-kernel@vger.kernel.org,
	 linux-security-module@vger.kernel.org, paul@paul-moore.com,
	 roberto.sassu@huawei.com, stable@vger.kernel.org,
	 syzkaller-bugs@googlegroups.com, zohar@linux.ibm.com
Subject: Re: [syzbot] [audit?] BUG: unable to handle kernel paging request in integrity_audit_message
Date: Sat, 29 Aug 2026 11:27:38 -0700	[thread overview]
Message-ID: <6a93249a.4d659fcc.734b4.002d.GAE@google.com> (raw)
In-Reply-To: <2A2D4D25-BB50-40A5-AF2F-956EBDB07876@mainlining.org>

> On 29 August 2026 19:12:29 BST, syzbot
> <syzbot+5ebeb3089ea6439c37be@syzkaller.appspotmail.com> wrote:
>>syzbot has found a reproducer for the following issue on:
>>
>
> #syz test: dentry_path() returns ERR_PTR(-ENAMETOOLONG) when the path

I've failed to parse your command.
Did you perhaps forget to provide the branch name, or added an extra ':'?
Please use one of the two supported formats:
1. #syz test
2. #syz test: repo branch-or-commit-hash
Note the lack of ':' in option 1.

> exceeds the
> buffer. validate_hash_algo() passes the result straight to
> integrity_audit_msg() without checking. ERR_PTR is not NULL, so
> integrity_audit_message() sees a valid pointer and calls strlen() on
> it, which faults:
>
>     BUG: unable to handle page fault for address: ffffffffffffffdc
>     RIP: 0010:strlen+0x30/0xa0
>     Call Trace:
>      audit_log_untrustedstring+0x19/0x30
>      integrity_audit_message+0x366/0x4f0
>      ima_inode_setxattr+0x512/0x5f0
>
> Check for IS_ERR() and use NULL instead, which makes the audit message
> skip the name= field instead of crashing.
>
> Fixes: 4f2946aa0c45 ("IMA: introduce a new policy option func=SETXATTR_CHECK")
> Cc: stable@vger.kernel.org
> Reported-by: syzbot+5ebeb3089ea6439c37be@syzkaller.appspotmail.com
> Link: https://lore.kernel.org/all/6a8f89e5.1d9ded08.62e62.00bf.GAE@google.com/
> Signed-off-by: Bradley Morgan <brads@mainlining.org>
>  security/integrity/ima/ima_appraise.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c
> index ced2e131b061..b280488e15fc 100644
> --- a/security/integrity/ima/ima_appraise.c
> +++ b/security/integrity/ima/ima_appraise.c
> @@ -748,6 +748,8 @@ static int validate_hash_algo(struct dentry *dentry,
>  		return -EACCES;
>  
>  	path = dentry_path(dentry, pathbuf, PATH_MAX);
> +	if (IS_ERR(path))
> +		path = NULL;
>  
>  	integrity_audit_msg(AUDIT_INTEGRITY_DATA, d_inode(dentry), path,
>  			    "set_data", errmsg, -EACCES, 0);
> -- 
> 2.47.3
>
>>HEAD commit:    cf72cbb39da8 Merge tag 'io_uring-7.3-20260828' of
>>git://gi..
>>git tree:       upstream
>>console output: https://syzkaller.appspot.com/x/log.txt?x=16e7cc15580000
>>kernel config:  https://syzkaller.appspot.com/x/.config?x=85bc5cc2fc7394d9
>>dashboard link:
>>https://syzkaller.appspot.com/bug?extid=5ebeb3089ea6439c37be
>>compiler:       gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44
>>userspace arch: i386
>>syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=159ebd79580000
>>C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=123d1d79580000
>>
>>Downloadable assets:
>>disk image (non-bootable):
>>https://storage.googleapis.com/syzbot-assets/d900f083ada3/non_bootable_disk-cf72cbb3.raw.xz
>>vmlinux: https://storage.googleapis.com/syzbot-assets/755d053ff703/vmlinux-cf72cbb3.xz
>>kernel image:
>>https://storage.googleapis.com/syzbot-assets/0837738ba281/bzImage-cf72cbb3.xz
>>
>>IMPORTANT: if you fix the issue, please add the following tag to the commit:
>>Reported-by: syzbot+5ebeb3089ea6439c37be@syzkaller.appspotmail.com
>>
>>BUG: unable to handle page fault for address: ffffffffffffffdc
>>#PF: supervisor read access in kernel mode
>>#PF: error_code(0x0000) - not-present page
>>PGD eb99067 P4D eb99067 PUD eb9b067 PMD 0 
>>Oops: Oops: 0000 [#1] SMP KASAN NOPTI
>>CPU: 0 UID: 0 PID: 5921 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full) 
>>Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS
>>1.16.3-debian-1.16.3-2 04/01/2014
>>RIP: 0010:strlen+0x30/0xa0 lib/string.c:402
>>Code: 00 00 00 00 00 fc ff df 55 48 89 fa 48 89 fd 53 48 c1 ea 03 48 83 ec 08 0f b6 04 02 48 89 fa 83 e2 07 38 d0 7f 04 84 c0 75 50 <80> 7d 00 00 74 3d 48 bb 00 00 00 00 00 fc ff df 48 89 e8 48 83 c0
>>RSP: 0018:ffffc90002eb7920 EFLAGS: 00010246
>>RAX: 0000000000000000 RBX: ffffffffffffffdc RCX: 0000000000000000
>>RDX: 0000000000000004 RSI: ffffffff82081bc1 RDI: ffffffffffffffdc
>>RBP: ffffffffffffffdc R08: 0000000000000004 R09: 00000000000000a9
>>R10: 00000000000006c0 R11: 0000000000000001 R12: ffff888027be0e40
>>R13: 0000000000000007 R14: 00000000fffffff3 R15: ffffffffffffffdc
>>FS:  0000000000000000(0000) GS:ffff888096967000(0063) knlGS:000000005783f480
>>CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
>>CR2: ffffffffffffffdc CR3: 0000000055e55000 CR4: 0000000000352ef0
>>Call Trace:
>> <TASK>
>> __fortify_strlen include/linux/fortify-string.h:218 [inline]
>> audit_log_untrustedstring+0x19/0x30 kernel/audit.c:2203
>> integrity_audit_message+0x366/0x4f0
>> security/integrity/integrity_audit.c:60
>> integrity_audit_msg+0x41/0x60 security/integrity/integrity_audit.c:32
>> validate_hash_algo security/integrity/ima/ima_appraise.c:752 [inline]
>> ima_inode_setxattr+0x512/0x5f0 security/integrity/ima/ima_appraise.c:775
>> security_inode_setxattr+0x299/0x560 security/security.c:1940
>> __vfs_setxattr_locked+0xad/0x2b0 fs/xattr.c:309
>> vfs_setxattr+0x14a/0x390 fs/xattr.c:344
>> do_setxattr+0x145/0x180 fs/xattr.c:662
>> file_setxattr fs/xattr.c:672 [inline]
>> file_setxattr+0x139/0x1b0 fs/xattr.c:666
>> path_setxattrat+0x335/0x3b0 fs/xattr.c:732
>> __do_sys_fsetxattr fs/xattr.c:782 [inline]
>> __se_sys_fsetxattr fs/xattr.c:779 [inline]
>> __ia32_sys_fsetxattr+0xc4/0x140 fs/xattr.c:779
>> do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:79 [inline]
>> __do_fast_syscall_32+0x13a/0x8b0 arch/x86/entry/syscall_32.c:291
>> do_fast_syscall_32+0x32/0x70 arch/x86/entry/syscall_32.c:316
>> entry_SYSENTER_compat_after_hwframe+0x84/0x8e
>>RIP: 0023:0xf7fb7fec
>>Code: Unable to access opcode bytes at 0xf7fb7fc2.
>>RSP: 002b:00000000fffd97bc EFLAGS: 00000296 ORIG_RAX: 00000000000000e4
>>RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 0000000080000080
>>RDX: 0000000080001080 RSI: 0000000000000002 RDI: 0000000000000000
>>RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
>>R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
>>R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
>> </TASK>
>>Modules linked in:
>>CR2: ffffffffffffffdc
>>---[ end trace 0000000000000000 ]---
>>RIP: 0010:strlen+0x30/0xa0 lib/string.c:402
>>Code: 00 00 00 00 00 fc ff df 55 48 89 fa 48 89 fd 53 48 c1 ea 03 48 83 ec 08 0f b6 04 02 48 89 fa 83 e2 07 38 d0 7f 04 84 c0 75 50 <80> 7d 00 00 74 3d 48 bb 00 00 00 00 00 fc ff df 48 89 e8 48 83 c0
>>RSP: 0018:ffffc90002eb7920 EFLAGS: 00010246
>>RAX: 0000000000000000 RBX: ffffffffffffffdc RCX: 0000000000000000
>>RDX: 0000000000000004 RSI: ffffffff82081bc1 RDI: ffffffffffffffdc
>>RBP: ffffffffffffffdc R08: 0000000000000004 R09: 00000000000000a9
>>R10: 00000000000006c0 R11: 0000000000000001 R12: ffff888027be0e40
>>R13: 0000000000000007 R14: 00000000fffffff3 R15: ffffffffffffffdc
>>FS:  0000000000000000(0000) GS:ffff888096967000(0063) knlGS:000000005783f480
>>CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
>>CR2: 00000000f7fb8000 CR3: 0000000055e55000 CR4: 0000000000352ef0
>>----------------
>>Code disassembly (best guess):
>>   0:	00 00                	add    %al,(%rax)
>>   2:	00 00                	add    %al,(%rax)
>>   4:	00 fc                	add    %bh,%ah
>>   6:	ff                   	lcall  (bad)
>>   7:	df 55 48             	fists  0x48(%rbp)
>>   a:	89 fa                	mov    %edi,%edx
>>   c:	48 89 fd             	mov    %rdi,%rbp
>>   f:	53                   	push   %rbx
>>  10:	48 c1 ea 03          	shr    $0x3,%rdx
>>  14:	48 83 ec 08          	sub    $0x8,%rsp
>>  18:	0f b6 04 02          	movzbl (%rdx,%rax,1),%eax
>>  1c:	48 89 fa             	mov    %rdi,%rdx
>>  1f:	83 e2 07             	and    $0x7,%edx
>>  22:	38 d0                	cmp    %dl,%al
>>  24:	7f 04                	jg     0x2a
>>  26:	84 c0                	test   %al,%al
>>  28:	75 50                	jne    0x7a
>>* 2a:	80 7d 00 00          	cmpb   $0x0,0x0(%rbp) <-- trapping instruction
>>  2e:	74 3d                	je     0x6d
>>  30:	48 bb 00 00 00 00 00 	movabs $0xdffffc0000000000,%rbx
>>  37:	fc ff df
>>  3a:	48 89 e8             	mov    %rbp,%rax
>>  3d:	48                   	rex.W
>>  3e:	83                   	.byte 0x83
>>  3f:	c0                   	.byte 0xc0
>>
>>
>>---
>>If you want syzbot to run the reproducer, reply with:
>>#syz test: git://repo/address.git branch-or-commit-hash
>>If you attach or paste a git patch, syzbot will apply it before testing.
>>
>
> --- Thanks!
> https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/

      reply	other threads:[~2026-08-29 18:27 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-27  0:50 syzbot
2026-08-27  1:06 ` Bradley Morgan
2026-08-27  1:06   ` syzbot
2026-08-27  1:07     ` Bradley Morgan
2026-08-27  1:22   ` Paul Moore
2026-08-27  1:23     ` Bradley Morgan
2026-08-27  1:42       ` Paul Moore
2026-08-29 18:12 ` syzbot
2026-08-29 18:22   ` Bradley Morgan
2026-08-29 18:27     ` syzbot [this message]

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=6a93249a.4d659fcc.734b4.002d.GAE@google.com \
    --to=syzbot+5ebeb3089ea6439c37be@syzkaller.appspotmail.com \
    --cc=audit@vger.kernel.org \
    --cc=brads@mainlining.org \
    --cc=eparis@redhat.com \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=paul@paul-moore.com \
    --cc=roberto.sassu@huawei.com \
    --cc=stable@vger.kernel.org \
    --cc=syzkaller-bugs@googlegroups.com \
    --cc=zohar@linux.ibm.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®