* [syzbot] [fs?] general protection fault in __umount_mnt
@ 2026-03-20 22:45 syzbot
2026-03-21 5:53 ` Forwarded: [PATCH] fs/namespace: fix double hlist_del_init of mnt_mp_list in get_detached_copy() syzbot
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: syzbot @ 2026-03-20 22:45 UTC (permalink / raw)
To: brauner, jack, linux-fsdevel, linux-kernel, syzkaller-bugs, viro
Hello,
syzbot found the following issue on:
HEAD commit: 8e42d2514a7e Add linux-next specific files for 20260318
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=10808cba580000
kernel config: https://syzkaller.appspot.com/x/.config?x=7f5b21566f9d8af6
dashboard link: https://syzkaller.appspot.com/bug?extid=e4470cc28308f2081ec8
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=16eb72da580000
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/cb90c31a24db/disk-8e42d251.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/e0c08a5de437/vmlinux-8e42d251.xz
kernel image: https://storage.googleapis.com/syzbot-assets/d6b18a5e03f8/bzImage-8e42d251.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+e4470cc28308f2081ec8@syzkaller.appspotmail.com
Oops: general protection fault, probably for non-canonical address 0xfbd59c0000000024: 0000 [#1] SMP KASAN PTI
KASAN: maybe wild-memory-access in range [0xdead000000000120-0xdead000000000127]
CPU: 1 UID: 0 PID: 15793 Comm: syz.3.4827 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026
RIP: 0010:__hlist_del include/linux/list.h:992 [inline]
RIP: 0010:hlist_del_init include/linux/list.h:1020 [inline]
RIP: 0010:__umount_mnt+0x24e/0x490 fs/namespace.c:997
Code: 85 e4 74 61 4d 8d be f8 00 00 00 4c 89 f8 48 c1 e8 03 80 3c 28 00 74 08 4c 89 ff e8 fc 33 e3 ff 4d 8b 2f 4c 89 e0 48 c1 e8 03 <80> 3c 28 00 74 08 4c 89 e7 e8 d4 34 e3 ff 4d 89 2c 24 4d 85 ed 74
RSP: 0018:ffffc90003297a40 EFLAGS: 00010a06
RAX: 1bd5a00000000024 RBX: ffff8880338796c8 RCX: ffff888029f08000
RDX: 0000000000000000 RSI: ffffffff8e8d9060 RDI: ffff888033879738
RBP: dffffc0000000000 R08: ffffffff90122ff7 R09: 1ffffffff20245fe
R10: dffffc0000000000 R11: fffffbfff20245ff R12: dead000000000122
R13: dead000000000100 R14: ffff8880338796c0 R15: ffff8880338797b8
FS: 0000555561679500(0000) GS:ffff888125536000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f0ebc84eddd CR3: 00000000791b8000 CR4: 00000000003526f0
Call Trace:
<TASK>
umount_mnt fs/namespace.c:1008 [inline]
umount_tree+0x925/0xd90 fs/namespace.c:1819
put_mnt_ns+0x1d6/0x2f0 fs/namespace.c:6264
evict+0x61e/0xb10 fs/inode.c:846
__dentry_kill+0x1a2/0x5e0 fs/dcache.c:670
finish_dput+0xc9/0x480 fs/dcache.c:879
__fput+0x697/0x8c0 fs/file_table.c:508
task_work_run+0x1d9/0x270 kernel/task_work.c:233
resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
__exit_to_user_mode_loop kernel/entry/common.c:67 [inline]
exit_to_user_mode_loop+0xed/0x480 kernel/entry/common.c:98
__exit_to_user_mode_prepare include/linux/irq-entry-common.h:238 [inline]
syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:269 [inline]
syscall_exit_to_user_mode include/linux/entry-common.h:325 [inline]
do_syscall_64+0x32d/0xf80 arch/x86/entry/syscall_64.c:100
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f14bbb9c799
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 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 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffd2857c408 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4
RAX: 0000000000000000 RBX: 00007f14bbe17da0 RCX: 00007f14bbb9c799
RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003
RBP: 00007f14bbe17da0 R08: 00007f14bbe16038 R09: 0000000000000000
R10: 000000000003fdc0 R11: 0000000000000246 R12: 0000000000033731
R13: 00007f14bbe1609c R14: 000000000003345d R15: 00007f14bbe16090
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:__hlist_del include/linux/list.h:992 [inline]
RIP: 0010:hlist_del_init include/linux/list.h:1020 [inline]
RIP: 0010:__umount_mnt+0x24e/0x490 fs/namespace.c:997
Code: 85 e4 74 61 4d 8d be f8 00 00 00 4c 89 f8 48 c1 e8 03 80 3c 28 00 74 08 4c 89 ff e8 fc 33 e3 ff 4d 8b 2f 4c 89 e0 48 c1 e8 03 <80> 3c 28 00 74 08 4c 89 e7 e8 d4 34 e3 ff 4d 89 2c 24 4d 85 ed 74
RSP: 0018:ffffc90003297a40 EFLAGS: 00010a06
RAX: 1bd5a00000000024 RBX: ffff8880338796c8 RCX: ffff888029f08000
RDX: 0000000000000000 RSI: ffffffff8e8d9060 RDI: ffff888033879738
RBP: dffffc0000000000 R08: ffffffff90122ff7 R09: 1ffffffff20245fe
R10: dffffc0000000000 R11: fffffbfff20245ff R12: dead000000000122
R13: dead000000000100 R14: ffff8880338796c0 R15: ffff8880338797b8
FS: 0000555561679500(0000) GS:ffff888125536000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f0ebc84eddd CR3: 00000000791b8000 CR4: 00000000003526f0
----------------
Code disassembly (best guess):
0: 85 e4 test %esp,%esp
2: 74 61 je 0x65
4: 4d 8d be f8 00 00 00 lea 0xf8(%r14),%r15
b: 4c 89 f8 mov %r15,%rax
e: 48 c1 e8 03 shr $0x3,%rax
12: 80 3c 28 00 cmpb $0x0,(%rax,%rbp,1)
16: 74 08 je 0x20
18: 4c 89 ff mov %r15,%rdi
1b: e8 fc 33 e3 ff call 0xffe3341c
20: 4d 8b 2f mov (%r15),%r13
23: 4c 89 e0 mov %r12,%rax
26: 48 c1 e8 03 shr $0x3,%rax
* 2a: 80 3c 28 00 cmpb $0x0,(%rax,%rbp,1) <-- trapping instruction
2e: 74 08 je 0x38
30: 4c 89 e7 mov %r12,%rdi
33: e8 d4 34 e3 ff call 0xffe3350c
38: 4d 89 2c 24 mov %r13,(%r12)
3c: 4d 85 ed test %r13,%r13
3f: 74 .byte 0x74
---
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 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.
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
^ permalink raw reply [flat|nested] 10+ messages in thread* Forwarded: [PATCH] fs/namespace: fix double hlist_del_init of mnt_mp_list in get_detached_copy() 2026-03-20 22:45 [syzbot] [fs?] general protection fault in __umount_mnt syzbot @ 2026-03-21 5:53 ` syzbot 2026-03-23 15:17 ` [syzbot] [fs?] general protection fault in __umount_mnt Christian Brauner 2026-03-28 13:16 ` syzbot 2 siblings, 0 replies; 10+ messages in thread From: syzbot @ 2026-03-21 5:53 UTC (permalink / raw) To: linux-kernel, syzkaller-bugs For archival purposes, forwarding an incoming command email to linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com. *** Subject: [PATCH] fs/namespace: fix double hlist_del_init of mnt_mp_list in get_detached_copy() Author: kartikey406@gmail.com #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master get_detached_copy() builds a new anonymous mount namespace for open_tree(OPEN_TREE_CLONE) by iterating all mounts in the cloned tree and calling mnt_add_to_ns() for each. However, child mounts in the cloned tree have their mnt_mp_list linked into the original mountpoint's m_list via mnt_set_mountpoint(). mnt_add_to_ns() only updates the namespace RB tree and never removes mnt_mp_list from that list. When both the original and new anonymous namespaces are torn down on process exit, put_mnt_ns() -> umount_tree() -> __umount_mnt() calls hlist_del_init() on mnt_mp_list for each mount. Since the same mount belongs to two namespaces, hlist_del_init() is called twice on the same node, corrupting the list and causing a general protection fault. Fix this by calling hlist_del_init() on mnt_mp_list and clearing mnt_mp for each mount inside the loop in get_detached_copy(). This detaches them from the original mountpoint's m_list. Clearing mnt_mp also prevents __umount_mnt() from passing a stale pointer to maybe_free_mountpoint() during teardown. Reported-by: syzbot+e4470cc28308f2081ec8@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=e4470cc28308f2081ec8 Signed-off-by: Deepanshu kartikey <Kartikey406@gmail.com> --- fs/namespace.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/namespace.c b/fs/namespace.c index 854f4fc66469..04e7ffd7fcf5 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -3063,6 +3063,10 @@ static struct mnt_namespace *get_detached_copy(const struct path *path, unsigned for (p = mnt; p; p = next_mnt(p, mnt)) { mnt_add_to_ns(ns, p); + if (p->mnt_mp) { + hlist_del_init(&p->mnt_mp_list); + p->mnt_mp = NULL; + } ns->nr_mounts++; } ns->root = mnt; -- 2.43.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [syzbot] [fs?] general protection fault in __umount_mnt 2026-03-20 22:45 [syzbot] [fs?] general protection fault in __umount_mnt syzbot 2026-03-21 5:53 ` Forwarded: [PATCH] fs/namespace: fix double hlist_del_init of mnt_mp_list in get_detached_copy() syzbot @ 2026-03-23 15:17 ` Christian Brauner 2026-03-23 15:19 ` syzbot 2026-03-24 8:44 ` Christian Brauner 2026-03-28 13:16 ` syzbot 2 siblings, 2 replies; 10+ messages in thread From: Christian Brauner @ 2026-03-23 15:17 UTC (permalink / raw) To: syzbot; +Cc: jack, linux-fsdevel, linux-kernel, syzkaller-bugs, viro [-- Attachment #1: Type: text/plain, Size: 1201 bytes --] On Fri, Mar 20, 2026 at 03:45:28PM -0700, syzbot wrote: > Hello, > > syzbot found the following issue on: > > HEAD commit: 8e42d2514a7e Add linux-next specific files for 20260318 > git tree: linux-next > console output: https://syzkaller.appspot.com/x/log.txt?x=10808cba580000 > kernel config: https://syzkaller.appspot.com/x/.config?x=7f5b21566f9d8af6 > dashboard link: https://syzkaller.appspot.com/bug?extid=e4470cc28308f2081ec8 > compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8 > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=16eb72da580000 > > Downloadable assets: > disk image: https://storage.googleapis.com/syzbot-assets/cb90c31a24db/disk-8e42d251.raw.xz > vmlinux: https://storage.googleapis.com/syzbot-assets/e0c08a5de437/vmlinux-8e42d251.xz > kernel image: https://storage.googleapis.com/syzbot-assets/d6b18a5e03f8/bzImage-8e42d251.xz > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > Reported-by: syzbot+e4470cc28308f2081ec8@syzkaller.appspotmail.com #syz test: https://github.com/brauner/linux/tree/vfs-7.1.mount 14594a141c760dd4c462b38d73406e1b48e44b84 [-- Attachment #2: 0001-mount-always-duplicate-mount.patch --] [-- Type: text/x-diff, Size: 4741 bytes --] From 14594a141c760dd4c462b38d73406e1b48e44b84 Mon Sep 17 00:00:00 2001 From: Christian Brauner <brauner@kernel.org> Date: Mon, 23 Mar 2026 15:05:07 +0100 Subject: [PATCH] mount: always duplicate mount In the OPEN_TREE_NAMESPACE path vfs_open_tree() resolves a path via filename_lookup() without holding namespace_lock. Between the lookup and create_new_namespace() acquiring namespace_lock via LOCK_MOUNT_EXACT_COPY() another thread can unmount the mount, setting mnt->mnt_ns to NULL. When create_new_namespace() then checks !mnt->mnt_ns it incorrectly takes the swap-and-mntget path that was designed for fsmount()'s detached mounts. This reuses a mount whose mnt_mp_list is in an inconsistent state from the concurrent unmount, causing a general protection fault in __umount_mnt() -> hlist_del_init(&mnt->mnt_mp_list) during namespace teardown. Remove the !mnt->mnt_ns special case entirely. Instead, always duplicate the mount: - For OPEN_TREE_NAMESPACE use __do_loopback() which will properly clone the mount or reject it via may_copy_tree() if it was unmounted in the race window. - For fsmount() use clone_mnt() directly (via the new MOUNT_COPY_NEW flag) since the mount is freshly created by vfs_create_mount() and not in any namespace so __do_loopback()'s IS_MNT_UNBINDABLE, may_copy_tree, and __has_locked_children checks don't apply. Reported-by: syzbot+e4470cc28308f2081ec8@syzkaller.appspotmail.com Signed-off-by: Christian Brauner <brauner@kernel.org> --- fs/namespace.c | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/fs/namespace.c b/fs/namespace.c index 2aebc4525cf3..090f9d951cfe 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -3086,8 +3086,13 @@ static struct file *open_detached_copy(struct path *path, unsigned int flags) return file; } +enum mount_copy_flags_t { + MOUNT_COPY_RECURSIVE = (1 << 0), + MOUNT_COPY_NEW = (1 << 1), +}; + static struct mnt_namespace *create_new_namespace(struct path *path, - bool recurse) + enum mount_copy_flags_t flags) { struct mnt_namespace *ns = current->nsproxy->mnt_ns; struct user_namespace *user_ns = current_user_ns(); @@ -3096,7 +3101,7 @@ static struct mnt_namespace *create_new_namespace(struct path *path, struct path to_path; struct mount *mnt; unsigned int copy_flags = 0; - bool locked = false; + bool locked = false, recurse = flags & MOUNT_COPY_RECURSIVE; if (user_ns != ns->user_ns) copy_flags |= CL_SLAVE; @@ -3135,22 +3140,10 @@ static struct mnt_namespace *create_new_namespace(struct path *path, * the restrictions of creating detached bind-mounts. It has a * lot saner and simpler semantics. */ - mnt = real_mount(path->mnt); - if (!mnt->mnt_ns) { - /* - * If we're moving into a new mount namespace via - * fsmount() swap the mount ids so the nullfs mount id - * is the lowest in the mount namespace avoiding another - * useless copy. This is fine we're not attached to any - * mount namespace so the mount ids are pure decoration - * at that point. - */ - swap(mnt->mnt_id_unique, new_ns_root->mnt_id_unique); - swap(mnt->mnt_id, new_ns_root->mnt_id); - mntget(&mnt->mnt); - } else { + if (flags & MOUNT_COPY_NEW) + mnt = clone_mnt(real_mount(path->mnt), path->dentry, copy_flags); + else mnt = __do_loopback(path, recurse, copy_flags); - } scoped_guard(mount_writer) { if (IS_ERR(mnt)) { emptied_ns = new_ns; @@ -3179,11 +3172,12 @@ static struct mnt_namespace *create_new_namespace(struct path *path, return new_ns; } -static struct file *open_new_namespace(struct path *path, bool recurse) +static struct file *open_new_namespace(struct path *path, + enum mount_copy_flags_t flags) { struct mnt_namespace *new_ns; - new_ns = create_new_namespace(path, recurse); + new_ns = create_new_namespace(path, flags); if (IS_ERR(new_ns)) return ERR_CAST(new_ns); return open_namespace_file(to_ns_common(new_ns)); @@ -3232,7 +3226,7 @@ static struct file *vfs_open_tree(int dfd, const char __user *filename, unsigned return ERR_PTR(ret); if (flags & OPEN_TREE_NAMESPACE) - return open_new_namespace(&path, (flags & AT_RECURSIVE)); + return open_new_namespace(&path, (flags & AT_RECURSIVE) ? MOUNT_COPY_RECURSIVE : 0); if (flags & OPEN_TREE_CLONE) return open_detached_copy(&path, flags); @@ -4535,7 +4529,7 @@ SYSCALL_DEFINE3(fsmount, int, fs_fd, unsigned int, flags, if (flags & FSMOUNT_NAMESPACE) return FD_ADD((flags & FSMOUNT_CLOEXEC) ? O_CLOEXEC : 0, - open_new_namespace(&new_path, 0)); + open_new_namespace(&new_path, MOUNT_COPY_NEW)); ns = alloc_mnt_ns(current->nsproxy->mnt_ns->user_ns, true); if (IS_ERR(ns)) -- 2.47.3 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [syzbot] [fs?] general protection fault in __umount_mnt 2026-03-23 15:17 ` [syzbot] [fs?] general protection fault in __umount_mnt Christian Brauner @ 2026-03-23 15:19 ` syzbot 2026-03-24 8:44 ` Christian Brauner 1 sibling, 0 replies; 10+ messages in thread From: syzbot @ 2026-03-23 15:19 UTC (permalink / raw) To: brauner, jack, linux-fsdevel, linux-kernel, syzkaller-bugs, viro Hello, syzbot tried to test the proposed patch but the build/boot failed: failed to checkout kernel repo https://github.com/brauner/linux/tree/vfs-7.1.mount on commit 14594a141c760dd4c462b38d73406e1b48e44b84: failed to run ["git" "fetch" "--force" "--tags" "f622b72ecc2091e74994c3e0f0d417a3c44b5855" "14594a141c760dd4c462b38d73406e1b48e44b84"]: exit status 128 Tested on: commit: [unknown git tree: https://github.com/brauner/linux/tree/vfs-7.1.mount 14594a141c760dd4c462b38d73406e1b48e44b84 kernel config: https://syzkaller.appspot.com/x/.config?x=c584910d0d74158d dashboard link: https://syzkaller.appspot.com/bug?extid=e4470cc28308f2081ec8 compiler: patch: https://syzkaller.appspot.com/x/patch.diff?x=11abacba580000 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [syzbot] [fs?] general protection fault in __umount_mnt 2026-03-23 15:17 ` [syzbot] [fs?] general protection fault in __umount_mnt Christian Brauner 2026-03-23 15:19 ` syzbot @ 2026-03-24 8:44 ` Christian Brauner 2026-03-24 9:08 ` syzbot 1 sibling, 1 reply; 10+ messages in thread From: Christian Brauner @ 2026-03-24 8:44 UTC (permalink / raw) To: syzbot; +Cc: jack, linux-fsdevel, linux-kernel, syzkaller-bugs, viro On Mon, Mar 23, 2026 at 04:17:48PM +0100, Christian Brauner wrote: > On Fri, Mar 20, 2026 at 03:45:28PM -0700, syzbot wrote: > > Hello, > > > > syzbot found the following issue on: > > > > HEAD commit: 8e42d2514a7e Add linux-next specific files for 20260318 > > git tree: linux-next > > console output: https://syzkaller.appspot.com/x/log.txt?x=10808cba580000 > > kernel config: https://syzkaller.appspot.com/x/.config?x=7f5b21566f9d8af6 > > dashboard link: https://syzkaller.appspot.com/bug?extid=e4470cc28308f2081ec8 > > compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8 > > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=16eb72da580000 > > > > Downloadable assets: > > disk image: https://storage.googleapis.com/syzbot-assets/cb90c31a24db/disk-8e42d251.raw.xz > > vmlinux: https://storage.googleapis.com/syzbot-assets/e0c08a5de437/vmlinux-8e42d251.xz > > kernel image: https://storage.googleapis.com/syzbot-assets/d6b18a5e03f8/bzImage-8e42d251.xz > > > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > > Reported-by: syzbot+e4470cc28308f2081ec8@syzkaller.appspotmail.com > > #syz test: https://github.com/brauner/linux/tree/vfs-7.1.mount 14594a141c760dd4c462b38d73406e1b48e44b84 #syz test: https://github.com/brauner/linux.git 14594a141c760dd4c462b38d73406e1b48e44b84 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [syzbot] [fs?] general protection fault in __umount_mnt 2026-03-24 8:44 ` Christian Brauner @ 2026-03-24 9:08 ` syzbot 0 siblings, 0 replies; 10+ messages in thread From: syzbot @ 2026-03-24 9:08 UTC (permalink / raw) To: brauner, jack, linux-fsdevel, linux-kernel, syzkaller-bugs, viro Hello, syzbot has tested the proposed patch and the reproducer did not trigger any issue: Reported-by: syzbot+e4470cc28308f2081ec8@syzkaller.appspotmail.com Tested-by: syzbot+e4470cc28308f2081ec8@syzkaller.appspotmail.com Tested on: commit: 14594a14 mount: always duplicate mount git tree: https://github.com/brauner/linux.git console output: https://syzkaller.appspot.com/x/log.txt?x=17e5aa06580000 kernel config: https://syzkaller.appspot.com/x/.config?x=d485346661badf84 dashboard link: https://syzkaller.appspot.com/bug?extid=e4470cc28308f2081ec8 compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8 Note: no patches were applied. Note: testing is done by a robot and is best-effort only. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [syzbot] [fs?] general protection fault in __umount_mnt 2026-03-20 22:45 [syzbot] [fs?] general protection fault in __umount_mnt syzbot 2026-03-21 5:53 ` Forwarded: [PATCH] fs/namespace: fix double hlist_del_init of mnt_mp_list in get_detached_copy() syzbot 2026-03-23 15:17 ` [syzbot] [fs?] general protection fault in __umount_mnt Christian Brauner @ 2026-03-28 13:16 ` syzbot 2026-03-28 21:09 ` Hillf Danton 2 siblings, 1 reply; 10+ messages in thread From: syzbot @ 2026-03-28 13:16 UTC (permalink / raw) To: brauner, jack, kartikey406, linux-fsdevel, linux-kernel, mszeredi, raven, syzkaller-bugs, viro syzbot has found a reproducer for the following issue on: HEAD commit: 3b058d1aeeef Add linux-next specific files for 20260327 git tree: linux-next console output: https://syzkaller.appspot.com/x/log.txt?x=11bd16f6580000 kernel config: https://syzkaller.appspot.com/x/.config?x=4acce231a75c746f dashboard link: https://syzkaller.appspot.com/bug?extid=e4470cc28308f2081ec8 compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8 syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11dc6606580000 C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15baca26580000 Downloadable assets: disk image: https://storage.googleapis.com/syzbot-assets/5a5b73363d45/disk-3b058d1a.raw.xz vmlinux: https://storage.googleapis.com/syzbot-assets/ecba5c3ac106/vmlinux-3b058d1a.xz kernel image: https://storage.googleapis.com/syzbot-assets/348124eb71de/bzImage-3b058d1a.xz IMPORTANT: if you fix the issue, please add the following tag to the commit: Reported-by: syzbot+e4470cc28308f2081ec8@syzkaller.appspotmail.com Oops: general protection fault, probably for non-canonical address 0xfbd59c0000000024: 0000 [#1] SMP KASAN PTI KASAN: maybe wild-memory-access in range [0xdead000000000120-0xdead000000000127] CPU: 0 UID: 0 PID: 6113 Comm: syz.0.28 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026 RIP: 0010:__hlist_del include/linux/list.h:992 [inline] RIP: 0010:hlist_del_init include/linux/list.h:1020 [inline] RIP: 0010:__umount_mnt+0x24e/0x490 fs/namespace.c:997 Code: 85 e4 74 61 4d 8d be f8 00 00 00 4c 89 f8 48 c1 e8 03 80 3c 28 00 74 08 4c 89 ff e8 ac 3f e3 ff 4d 8b 2f 4c 89 e0 48 c1 e8 03 <80> 3c 28 00 74 08 4c 89 e7 e8 84 40 e3 ff 4d 89 2c 24 4d 85 ed 74 RSP: 0018:ffffc900033a7a20 EFLAGS: 00010a06 RAX: 1bd5a00000000024 RBX: ffff88807dcb5188 RCX: ffff88803244bd00 RDX: 0000000000000000 RSI: ffffffff8e8d83a0 RDI: ffff88807dcb51f8 RBP: dffffc0000000000 R08: ffffffff90128af7 R09: 1ffffffff202515e R10: dffffc0000000000 R11: fffffbfff202515f R12: dead000000000122 R13: dead000000000100 R14: ffff88807dcb5180 R15: ffff88807dcb5278 FS: 000055558d53f500(0000) GS:ffff88812543f000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f50a85ea078 CR3: 0000000076400000 CR4: 00000000003526f0 Call Trace: <TASK> umount_mnt fs/namespace.c:1008 [inline] umount_tree+0x925/0xd90 fs/namespace.c:1819 put_mnt_ns+0x1d6/0x2f0 fs/namespace.c:6264 evict+0x61e/0xb10 fs/inode.c:846 __dentry_kill+0x1a2/0x5e0 fs/dcache.c:670 finish_dput+0xc9/0x480 fs/dcache.c:879 __fput+0x691/0xa70 fs/file_table.c:477 task_work_run+0x1d9/0x270 kernel/task_work.c:233 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] __exit_to_user_mode_loop kernel/entry/common.c:67 [inline] exit_to_user_mode_loop+0xed/0x480 kernel/entry/common.c:98 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:238 [inline] syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:269 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:328 [inline] do_syscall_64+0x33e/0xf80 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f265d99c799 Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 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 e8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffe16be4ce8 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4 RAX: 0000000000000000 RBX: 00007f265dc17da0 RCX: 00007f265d99c799 RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003 RBP: 00007f265dc17da0 R08: 00007f265dc16038 R09: 0000000000000000 R10: 000000000003fda8 R11: 0000000000000246 R12: 00000000000161c9 R13: 00007f265dc1609c R14: 0000000000015fb1 R15: 00007f265dc16090 </TASK> Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:__hlist_del include/linux/list.h:992 [inline] RIP: 0010:hlist_del_init include/linux/list.h:1020 [inline] RIP: 0010:__umount_mnt+0x24e/0x490 fs/namespace.c:997 Code: 85 e4 74 61 4d 8d be f8 00 00 00 4c 89 f8 48 c1 e8 03 80 3c 28 00 74 08 4c 89 ff e8 ac 3f e3 ff 4d 8b 2f 4c 89 e0 48 c1 e8 03 <80> 3c 28 00 74 08 4c 89 e7 e8 84 40 e3 ff 4d 89 2c 24 4d 85 ed 74 RSP: 0018:ffffc900033a7a20 EFLAGS: 00010a06 RAX: 1bd5a00000000024 RBX: ffff88807dcb5188 RCX: ffff88803244bd00 RDX: 0000000000000000 RSI: ffffffff8e8d83a0 RDI: ffff88807dcb51f8 RBP: dffffc0000000000 R08: ffffffff90128af7 R09: 1ffffffff202515e R10: dffffc0000000000 R11: fffffbfff202515f R12: dead000000000122 R13: dead000000000100 R14: ffff88807dcb5180 R15: ffff88807dcb5278 FS: 000055558d53f500(0000) GS:ffff88812543f000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f50a85ea078 CR3: 0000000076400000 CR4: 00000000003526f0 ---------------- Code disassembly (best guess): 0: 85 e4 test %esp,%esp 2: 74 61 je 0x65 4: 4d 8d be f8 00 00 00 lea 0xf8(%r14),%r15 b: 4c 89 f8 mov %r15,%rax e: 48 c1 e8 03 shr $0x3,%rax 12: 80 3c 28 00 cmpb $0x0,(%rax,%rbp,1) 16: 74 08 je 0x20 18: 4c 89 ff mov %r15,%rdi 1b: e8 ac 3f e3 ff call 0xffe33fcc 20: 4d 8b 2f mov (%r15),%r13 23: 4c 89 e0 mov %r12,%rax 26: 48 c1 e8 03 shr $0x3,%rax * 2a: 80 3c 28 00 cmpb $0x0,(%rax,%rbp,1) <-- trapping instruction 2e: 74 08 je 0x38 30: 4c 89 e7 mov %r12,%rdi 33: e8 84 40 e3 ff call 0xffe340bc 38: 4d 89 2c 24 mov %r13,(%r12) 3c: 4d 85 ed test %r13,%r13 3f: 74 .byte 0x74 --- 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. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [syzbot] [fs?] general protection fault in __umount_mnt 2026-03-28 13:16 ` syzbot @ 2026-03-28 21:09 ` Hillf Danton 2026-03-28 21:41 ` syzbot 0 siblings, 1 reply; 10+ messages in thread From: Hillf Danton @ 2026-03-28 21:09 UTC (permalink / raw) To: syzbot; +Cc: brauner, linux-fsdevel, linux-kernel, syzkaller-bugs > Date: Sat, 28 Mar 2026 06:16:26 -0700 [thread overview] > syzbot has found a reproducer for the following issue on: > > HEAD commit: 3b058d1aeeef Add linux-next specific files for 20260327 > git tree: linux-next > console output: https://syzkaller.appspot.com/x/log.txt?x=11bd16f6580000 > kernel config: https://syzkaller.appspot.com/x/.config?x=4acce231a75c746f > dashboard link: https://syzkaller.appspot.com/bug?extid=e4470cc28308f2081ec8 > compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8 > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11dc6606580000 > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15baca26580000 > #syz test: https://github.com/brauner/linux.git 14594a141c760dd4c462b38d73406e1b48e44b84 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [syzbot] [fs?] general protection fault in __umount_mnt 2026-03-28 21:09 ` Hillf Danton @ 2026-03-28 21:41 ` syzbot 0 siblings, 0 replies; 10+ messages in thread From: syzbot @ 2026-03-28 21:41 UTC (permalink / raw) To: brauner, hdanton, linux-fsdevel, linux-kernel, syzkaller-bugs Hello, syzbot has tested the proposed patch and the reproducer did not trigger any issue: Reported-by: syzbot+e4470cc28308f2081ec8@syzkaller.appspotmail.com Tested-by: syzbot+e4470cc28308f2081ec8@syzkaller.appspotmail.com Tested on: commit: 14594a14 mount: always duplicate mount git tree: https://github.com/brauner/linux.git console output: https://syzkaller.appspot.com/x/log.txt?x=10af36da580000 kernel config: https://syzkaller.appspot.com/x/.config?x=3f75584c428d66f3 dashboard link: https://syzkaller.appspot.com/bug?extid=e4470cc28308f2081ec8 compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8 Note: no patches were applied. Note: testing is done by a robot and is best-effort only. ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <20260321055257.1119801-1-kartikey406@gmail.com>]
* Re: [syzbot] [fs?] general protection fault in __umount_mnt [not found] <20260321055257.1119801-1-kartikey406@gmail.com> @ 2026-03-21 6:20 ` syzbot 0 siblings, 0 replies; 10+ messages in thread From: syzbot @ 2026-03-21 6:20 UTC (permalink / raw) To: kartikey406, linux-kernel, syzkaller-bugs Hello, syzbot has tested the proposed patch and the reproducer did not trigger any issue: Reported-by: syzbot+e4470cc28308f2081ec8@syzkaller.appspotmail.com Tested-by: syzbot+e4470cc28308f2081ec8@syzkaller.appspotmail.com Tested on: commit: a0c83177 Merge tag 'drm-fixes-2026-03-21' of https://g.. git tree: upstream console output: https://syzkaller.appspot.com/x/log.txt?x=14884d72580000 kernel config: https://syzkaller.appspot.com/x/.config?x=a1eff8566a28238e dashboard link: https://syzkaller.appspot.com/bug?extid=e4470cc28308f2081ec8 compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8 patch: https://syzkaller.appspot.com/x/patch.diff?x=16c201d6580000 Note: testing is done by a robot and is best-effort only. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-03-28 21:41 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-20 22:45 [syzbot] [fs?] general protection fault in __umount_mnt syzbot
2026-03-21 5:53 ` Forwarded: [PATCH] fs/namespace: fix double hlist_del_init of mnt_mp_list in get_detached_copy() syzbot
2026-03-23 15:17 ` [syzbot] [fs?] general protection fault in __umount_mnt Christian Brauner
2026-03-23 15:19 ` syzbot
2026-03-24 8:44 ` Christian Brauner
2026-03-24 9:08 ` syzbot
2026-03-28 13:16 ` syzbot
2026-03-28 21:09 ` Hillf Danton
2026-03-28 21:41 ` syzbot
[not found] <20260321055257.1119801-1-kartikey406@gmail.com>
2026-03-21 6:20 ` syzbot
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox