From: syzbot <syzbot+0b7a8fb8279a59e8a188@syzkaller.appspotmail.com>
To: brauner@kernel.org, jack@suse.cz, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org, phillip@squashfs.org.uk,
squashfs-devel@lists.sourceforge.net,
syzkaller-bugs@googlegroups.com, viro@zeniv.linux.org.uk
Subject: [syzbot] [squashfs?] general protection fault in lookup_open
Date: Sat, 14 Nov 2026 04:09:28 -0800 [thread overview]
Message-ID: <6af84f78.097d52ff.3d440.0004.GAE@google.com> (raw)
Hello,
syzbot found the following issue on:
HEAD commit: 84abb955b101 Add linux-next specific files for 20261113
git tree: linux-next
console+strace: https://syzkaller.appspot.com/x/log.txt?x=1082844d580000
kernel config: https://syzkaller.appspot.com/x/.config?x=d9d5eeb0ba036071
dashboard link: https://syzkaller.appspot.com/bug?extid=0b7a8fb8279a59e8a188
compiler: Debian clang version 22.1.8 (1~deb13u4), Debian LLD 22.1.8
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=148b45be580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=160f55a1580000
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/ffae1d4a717e/disk-84abb955.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/fd2a35a63abf/vmlinux-84abb955.xz
kernel image: https://storage.googleapis.com/syzbot-assets/039ccf647778/bzImage-84abb955.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/90d273be2ea1/mount_0.gz
AI-generated root cause summary:
In fs/squashfs/namei.c:squashfs_lookup(), sanity checks using
squashfs_dir_space() jump directly to label read_failure instead of data_error
upon detecting that a directory entry extends beyond inode size. Jumping to
read_failure bypasses the assignment of err = -EIO, leaving err set to either an
uninitialized value or a positive value returned by a prior successful call to
squashfs_read_metadata() (such as sizeof(struct squashfs_dir_entry) == 8).
Consequently, squashfs_lookup() returns ERR_PTR(8), which IS_ERR() does not
recognize as an error pointer; VFS lookup_open() subsequently dereferences
dentry->d_inode at address 0x8 + 0x68 = 0x70, triggering a near-NULL pointer
dereference crash.
full analysis: https://syzkaller.appspot.com/x/ai_root_cause?x=0b7a8fb8279a59e8a188
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+0b7a8fb8279a59e8a188@syzkaller.appspotmail.com
loop0: detected capacity change from 0 to 8
SQUASHFS error: Unable to read directory block [0:26]
Oops: general protection fault, probably for non-canonical address 0xdffffc000000000d: 0000 [#1] SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000068-0x000000000000006f]
CPU: 1 UID: 0 PID: 5645 Comm: syz-executor126 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/06/2026
RIP: 0010:lookup_open+0x890/0x16e0 fs/namei.c:4648
Code: 09 00 00 e8 a2 60 68 ff 49 81 ff 01 f0 ff ff 0f 83 2a ff ff ff 4d 8d 77 68 4c 89 f0 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <80> 3c 08 00 74 08 4c 89 f7 e8 92 54 e8 ff 49 83 3e 00 74 07 e8 67
RSP: 0018:ffffc900039579c0 EFLAGS: 00010203
RAX: 000000000000000d RBX: 0000000000000040 RCX: dffffc0000000000
RDX: 0000000000000000 RSI: 0000000000000004 RDI: 00000000ffffffff
RBP: 00000000ffffffe2 R08: ffff8880134403fb R09: 1ffff1100268807f
R10: dffffc0000000000 R11: ffffed1002688080 R12: 1ffff110026f064c
R13: ffffc90003957e00 R14: 000000000000006e R15: 0000000000000006
FS: 0000555559c4d400(0000) GS:ffff8881234cd000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000020000000b400 CR3: 0000000071a58000 CR4: 00000000003526f0
Call Trace:
<TASK>
open_last_lookups fs/namei.c:4880 [inline]
path_openat+0x7a5/0x20e0 fs/namei.c:5119
do_file_open+0x23e/0x4a0 fs/namei.c:5151
do_sys_openat2+0x115/0x200 fs/open.c:1492
do_sys_open fs/open.c:1498 [inline]
__do_sys_openat fs/open.c:1838 [inline]
__se_sys_openat fs/open.c:1833 [inline]
__x64_sys_openat+0x138/0x170 fs/open.c:1833
do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
do_syscall_64+0x171/0x540 arch/x86/entry/syscall_64.c:89
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x00007fc862573909
Code: c0 79 93 eb d5 48 8d 7c 1d 00 eb 99 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 d8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fff58fa7d68 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fc862573909
RDX: 000000000000275a RSI: 000020000000b400 RDI: 00000000ffffff9c
RBP: 0000000000000001 R08: 0000000000000000 R09: 0000555559c4e580
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fff58fa7d90
R13: 0000000000000002 R14: 431bde82d7b634db R15: 00007fc8625d304b
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:lookup_open+0x890/0x16e0 fs/namei.c:4648
Code: 09 00 00 e8 a2 60 68 ff 49 81 ff 01 f0 ff ff 0f 83 2a ff ff ff 4d 8d 77 68 4c 89 f0 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <80> 3c 08 00 74 08 4c 89 f7 e8 92 54 e8 ff 49 83 3e 00 74 07 e8 67
RSP: 0018:ffffc900039579c0 EFLAGS: 00010203
RAX: 000000000000000d RBX: 0000000000000040 RCX: dffffc0000000000
RDX: 0000000000000000 RSI: 0000000000000004 RDI: 00000000ffffffff
RBP: 00000000ffffffe2 R08: ffff8880134403fb R09: 1ffff1100268807f
R10: dffffc0000000000 R11: ffffed1002688080 R12: 1ffff110026f064c
R13: ffffc90003957e00 R14: 000000000000006e R15: 0000000000000006
FS: 0000555559c4d400(0000) GS:ffff8881233cd000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000557377da1760 CR3: 0000000071a58000 CR4: 00000000003526f0
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 00 00 add %al,(%rax)
2: e8 a2 60 68 ff call 0xff6860a9
7: 49 81 ff 01 f0 ff ff cmp $0xfffffffffffff001,%r15
e: 0f 83 2a ff ff ff jae 0xffffff3e
14: 4d 8d 77 68 lea 0x68(%r15),%r14
18: 4c 89 f0 mov %r14,%rax
1b: 48 c1 e8 03 shr $0x3,%rax
1f: 48 b9 00 00 00 00 00 movabs $0xdffffc0000000000,%rcx
26: fc ff df
* 29: 80 3c 08 00 cmpb $0x0,(%rax,%rcx,1) <-- trapping instruction
2d: 74 08 je 0x37
2f: 4c 89 f7 mov %r14,%rdi
32: e8 92 54 e8 ff call 0xffe854c9
37: 49 83 3e 00 cmpq $0x0,(%r14)
3b: 74 07 je 0x44
3d: e8 .byte 0xe8
3e: 67 addr32
---
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.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup
reply other threads:[~2026-11-14 12:09 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=6af84f78.097d52ff.3d440.0004.GAE@google.com \
--to=syzbot+0b7a8fb8279a59e8a188@syzkaller.appspotmail.com \
--cc=brauner@kernel.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=phillip@squashfs.org.uk \
--cc=squashfs-devel@lists.sourceforge.net \
--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.