mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: syzbot <syzbot+7b1d0ea11475e857d063@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?] kernel BUG in vfs_get_tree (3)
Date: Sat, 14 Nov 2026 06:27:32 -0800	[thread overview]
Message-ID: <6af86fd4.07d0a7c9.39b765.0005.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=149b45be580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=d9d5eeb0ba036071
dashboard link: https://syzkaller.appspot.com/bug?extid=7b1d0ea11475e857d063
compiler:       Debian clang version 22.1.8 (1~deb13u4), Debian LLD 22.1.8
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=17da103d580000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=1352844d580000

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/dbda48ecccdc/mount_0.gz

AI-generated root cause summary:
In squashfs_read_inode(), reading directory metadata via
squashfs_read_metadata() returns the positive number of bytes read (32 for
SQUASHFS_DIR_TYPE and 40 for SQUASHFS_LDIR_TYPE). When the directory size sanity
check fails (inode->i_size < 3), the code jumps to failed_read without setting
err to a negative errno such as -EINVAL. Consequently, squashfs_read_inode()
returns positive 40 (or 32), which propagates up through squashfs_fill_super()
and get_tree_bdev() to vfs_get_tree(). Because vfs_get_tree() only checks for
error < 0, it observes a positive return value without fc->root being populated,
triggering an explicit kernel BUG().

full analysis:  https://syzkaller.appspot.com/x/ai_root_cause?x=7b1d0ea11475e857d063

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+7b1d0ea11475e857d063@syzkaller.appspotmail.com

loop0: detected capacity change from 0 to 8
SQUASHFS error: Unable to read inode 0x11f
Filesystem squashfs get_tree() didn't set fc->root, returned 40
------------[ cut here ]------------
kernel BUG at fs/super.c:2174!
Oops: invalid opcode: 0000 [#1] SMP KASAN PTI
CPU: 0 UID: 0 PID: 5645 Comm: syz-executor247 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/06/2026
RIP: 0010:vfs_get_tree+0x29c/0x2a0 fs/super.c:2174
Code: 1b 48 89 d8 48 c1 e8 03 42 80 3c 28 00 74 08 48 89 df e8 07 2b eb ff 48 8b 33 48 c7 c7 00 6b 40 8c 44 89 f2 e8 85 81 c9 fe 90 <0f> 0b 66 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f
RSP: 0018:ffffc90003a67c88 EFLAGS: 00010246
RAX: 000000000000003f RBX: ffffffff903c9a60 RCX: f236a142641ab000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc90003a67df0 R08: ffffffff9014d12b R09: 1ffffffff2029a25
R10: dffffc0000000000 R11: fffffbfff2029a26 R12: 1ffff11003b5f455
R13: dffffc0000000000 R14: 0000000000000028 R15: 0000000000000000
FS:  0000555561a2d400(0000) GS:ffff8881233cd000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd3ab27000 CR3: 000000007b7a8000 CR4: 00000000003526f0
Call Trace:
 <TASK>
 fc_mount fs/namespace.c:1300 [inline]
 do_new_mount_fc fs/namespace.c:4030 [inline]
 do_new_mount+0x325/0xb00 fs/namespace.c:4106
 do_mount fs/namespace.c:4470 [inline]
 __do_sys_mount fs/namespace.c:4683 [inline]
 __se_sys_mount+0x31d/0x420 fs/namespace.c:4660
 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:0x00007f7481046aca
Code: 56 53 b8 9d 00 00 00 0f 05 83 f8 ea 75 a2 c7 05 c4 ff 08 00 00 00 00 00 eb 96 e8 51 05 00 00 90 49 89 ca b8 a5 00 00 00 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:00007ffd3ab26658 EFLAGS: 00000206 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007ffd3ab26680 RCX: 00007f7481046aca
RDX: 00002000000001c0 RSI: 0000200000000200 RDI: 00007ffd3ab26680
RBP: 00002000000001c0 R08: 00007ffd3ab266c0 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000206 R12: 0000200000000200
R13: 00007ffd3ab266c0 R14: 0000000000000003 R15: 0000000000000000
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:vfs_get_tree+0x29c/0x2a0 fs/super.c:2174
Code: 1b 48 89 d8 48 c1 e8 03 42 80 3c 28 00 74 08 48 89 df e8 07 2b eb ff 48 8b 33 48 c7 c7 00 6b 40 8c 44 89 f2 e8 85 81 c9 fe 90 <0f> 0b 66 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f
RSP: 0018:ffffc90003a67c88 EFLAGS: 00010246
RAX: 000000000000003f RBX: ffffffff903c9a60 RCX: f236a142641ab000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc90003a67df0 R08: ffffffff9014d12b R09: 1ffffffff2029a25
R10: dffffc0000000000 R11: fffffbfff2029a26 R12: 1ffff11003b5f455
R13: dffffc0000000000 R14: 0000000000000028 R15: 0000000000000000
FS:  0000555561a2d400(0000) GS:ffff8881233cd000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd3ab27000 CR3: 000000007b7a8000 CR4: 00000000003526f0


---
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 14:27 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=6af86fd4.07d0a7c9.39b765.0005.GAE@google.com \
    --to=syzbot+7b1d0ea11475e857d063@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 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®