All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lorenzo Stoakes <ljs@kernel.org>
To: syzbot <syzbot+db390288d141a1dccf96@syzkaller.appspotmail.com>
Cc: Liam.Howlett@oracle.com, akpm@linux-foundation.org,
	jannh@google.com,  linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, pfalcato@suse.de,
	 syzkaller-bugs@googlegroups.com, vbabka@kernel.org
Subject: Re: [syzbot] [mm?] WARNING in vma_mark_detached
Date: Tue, 21 Apr 2026 10:32:10 +0100	[thread overview]
Message-ID: <aedB4BJtOtZ3Aqrj@lucifer> (raw)
In-Reply-To: <69e69734.050a0220.24bfd3.0027.GAE@google.com>

On Mon, Apr 20, 2026 at 02:14:28PM -0700, syzbot wrote:
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit:    43cfbdda5af6 Merge tag 'for-linus-iommufd' of git://git.ke..
> git tree:       upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=17711906580000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=8195c5b22e79c2cf
> dashboard link: https://syzkaller.appspot.com/bug?extid=db390288d141a1dccf96
> 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=14cd78ce580000
> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=161f82d2580000
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/848e46852283/disk-43cfbdda.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/24283dbdc318/vmlinux-43cfbdda.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/f91b3fadd31d/bzImage-43cfbdda.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+db390288d141a1dccf96@syzkaller.appspotmail.com
>
> RDX: bbdccba4532b703b RSI: 0000200000000000 RDI: 0000000000000000
> RBP: 00007ffcde93cf30 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
> R13: 00007fa5dec15fac R14: 00007fa5dec15fa0 R15: 00007fa5dec15fa0
>  </TASK>
> HugeTLB: unable to allocate vma specific lock

OK so this is the (sketchy) hugetlb 'VMA lock' allocation code, which in fact is
not a VMA lock in the sense of core mm, but rather a hugetlb-specific thing.

There is an alloc failiure injected to do that.

> ------------[ cut here ]------------
> !vma_is_attached(vma)
> WARNING: ./include/linux/mmap_lock.h:435 at vma_assert_attached include/linux/mmap_lock.h:435 [inline], CPU#0: syz.0.17/6011
> WARNING: ./include/linux/mmap_lock.h:435 at vma_mark_detached+0x198/0x260 include/linux/mmap_lock.h:455, CPU#0: syz.0.17/6011

But this is saying the VMA is detached, which shouldn't be the case...

From the below, we're in an mmap compatibility layer scenario, so this is
complicated:

shmat
-> mmap_region
-> shm_mmap
-> compat_vma_mmap
-> mmap_action_complete
-> do_munmap
-> vms_gather_munmap_vmas
-> vma_mark_detached

This then is a product of the VMA being in its incomplete, not-yet-initialised
state, which explains why the VMA is detached.

So I think we need a way of propagating to the mmap_action_finish() handler that
we're in a compat handler and thus the unmapping is unnecessary.

I'll come up with a patch!

Cheers, Lorenzo

> Modules linked in:
> CPU: 0 UID: 0 PID: 6011 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full)
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/18/2026
> RIP: 0010:vma_assert_attached include/linux/mmap_lock.h:435 [inline]
> RIP: 0010:vma_mark_detached+0x198/0x260 include/linux/mmap_lock.h:455
> Code: 01 00 00 00 89 ee e8 57 5f a4 ff 85 ed 7e 4b e8 0e 5b a4 ff 48 89 df 5b 41 5c 41 5e 41 5f 5d e9 7e db f3 ff e8 f9 5a a4 ff 90 <0f> 0b 90 eb 95 e8 ee 5a a4 ff 90 0f 0b 90 e9 04 ff ff ff e8 e0 5a
> RSP: 0018:ffffc90003396df0 EFLAGS: 00010293
> RAX: ffffffff8220ba17 RBX: ffff8880536f8500 RCX: ffff88802baf3d80
> RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
> RBP: 0000000000000000 R08: ffff8880536f8583 R09: 1ffff1100a6df0b0
> R10: dffffc0000000000 R11: ffffed100a6df0b1 R12: dffffc0000000000
> R13: ffffc90003397130 R14: ffff8880536f8580 R15: 0000000000000001
> FS:  000055555c863500(0000) GS:ffff88812522b000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000001b2fb63fff CR3: 00000000325d8000 CR4: 00000000003526f0
> Call Trace:
>  <TASK>
>  vms_gather_munmap_vmas+0x6ab/0x1380 mm/vma.c:1458
>  do_vmi_align_munmap+0x2b4/0x4b0 mm/vma.c:1595
>  do_vmi_munmap+0x252/0x2d0 mm/vma.c:1652
>  do_munmap+0xf9/0x170 mm/mmap.c:1067
>  mmap_action_finish mm/util.c:1422 [inline]
>  mmap_action_complete+0x480/0x590 mm/util.c:1491
>  compat_vma_mmap+0x243/0x2c0 mm/util.c:1280
>  vfs_mmap include/linux/fs.h:2072 [inline]
>  shm_mmap+0xda/0x200 ipc/shm.c:607
>  vfs_mmap include/linux/fs.h:2074 [inline]
>  mmap_file mm/internal.h:168 [inline]
>  __mmap_new_file_vma mm/vma.c:2496 [inline]
>  __mmap_new_vma mm/vma.c:2562 [inline]
>  __mmap_region mm/vma.c:2771 [inline]
>  mmap_region+0x1ab2/0x2280 mm/vma.c:2856
>  do_mmap+0xc39/0x10c0 mm/mmap.c:560
>  do_shmat+0x8d8/0xc10 ipc/shm.c:1662
>  __do_sys_shmat ipc/shm.c:1698 [inline]
>  __se_sys_shmat ipc/shm.c:1693 [inline]
>  __x64_sys_shmat+0x9c/0xf0 ipc/shm.c:1693
>  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
>  do_syscall_64+0x15f/0xf80 arch/x86/entry/syscall_64.c:94
>  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> RIP: 0033:0x7fa5de99c819
> 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:00007ffcde93cec8 EFLAGS: 00000246 ORIG_RAX: 000000000000001e
> RAX: ffffffffffffffda RBX: 00007fa5dec15fa0 RCX: 00007fa5de99c819
> RDX: bbdccba4532b703b RSI: 0000200000000000 RDI: 0000000000000000
> RBP: 00007ffcde93cf30 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
> R13: 00007fa5dec15fac R14: 00007fa5dec15fa0 R15: 00007fa5dec15fa0
>  </TASK>
>
>
> ---
> 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


  reply	other threads:[~2026-04-21  9:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-20 21:14 [syzbot] [mm?] WARNING in vma_mark_detached syzbot
2026-04-21  9:32 ` Lorenzo Stoakes [this message]
2026-04-21 10:23   ` Lorenzo Stoakes

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=aedB4BJtOtZ3Aqrj@lucifer \
    --to=ljs@kernel.org \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=jannh@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=pfalcato@suse.de \
    --cc=syzbot+db390288d141a1dccf96@syzkaller.appspotmail.com \
    --cc=syzkaller-bugs@googlegroups.com \
    --cc=vbabka@kernel.org \
    /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.