From: Thomas Gleixner <tglx@kernel.org>
To: Will Deacon <will@kernel.org>
Cc: syzbot <syzbot+417a6b7c02d5d03f9aa6@syzkaller.appspotmail.com>,
andrealmeid@igalia.com, dave@stgolabs.net, dvhart@infradead.org,
linux-kernel@vger.kernel.org, mingo@redhat.com,
peterz@infradead.org, syzkaller-bugs@googlegroups.com,
Catalin Marinas <catalin.marinas@arm.com>,
Mark Rutland <mark.rutland@arm.com>
Subject: Re: [syzbot] [kernel?] Internal error in futex_wake_op
Date: Sat, 05 Sep 2026 12:31:27 +0200 [thread overview]
Message-ID: <87qzj856rk.ffs@fw13> (raw)
In-Reply-To: <apsIH2hDpeiGiazJ@willie-the-truck>
On Fri, Sep 04 2026 at 19:04, Will Deacon wrote:
> On Fri, Sep 04, 2026 at 07:40:42AM +0200, Thomas Gleixner wrote:
>> On Thu, Aug 27 2026 at 11:52, syzbot wrote:
>> > futex_wake_op: syz.0.17 tries to shift op by 144; fix this program
>> > Internal error: synchronous external abort: 0000000096000010 [#1] SMP
>
> This is an _external_ abort!
which confused me :)
>> > x11: 0000000000000000 x10: 00000000fffffff5 x9 : 0000000000000000
>
> X11 is NULL...
>
>> > Code disassembly (best guess):
>> > 0: d500409f msr pan, #0x0
>> > 4: 1280014a mov w10, #0xfffffff5 // #-11
>> > 8: f94057eb ldr x11, [sp, #168]
>> > c: f9800171 prfm pstl1strm, [x11]
>> > * 10: 885f7d76 ldxr w22, [x11] <-- trapping instruction
>
> ... so the futex is dereferencing NULL in the LDXR instruction implementing
> the atomic_or operation. Normally, that would trigger a translation fault
> and the exception fixup handler would cause the function to return -EFAULT.
>
> However, in this case the userspace program has mapped PCI down at 0:
>
> r0 = openat(0xffffffffffffff9c, &(0x7f0000000300)='./mysys/bus/pci/devices/0000:00:02.0/resource0\x00', 0x2, 0x0)
> mmap(0x0, 0x1012, 0x3, 0x11, r0, 0x0)
>
> and the access from the exclusive instruction generates the external
> abort. That's expected, which is why mapping MMIO into userspace is a
> bad idea. I suspect you could even make the abort asynchronous if you
> wanted to, in which case the kernel couldn't work around it even if it
> tried.
I assume there is nothing we can do about that. But that mmap() requires
root, so ...
prev parent reply other threads:[~2026-09-05 10:31 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-27 18:52 [syzbot] [kernel?] Internal error in futex_wake_op syzbot
2026-09-04 5:40 ` Thomas Gleixner
2026-09-04 18:04 ` Will Deacon
2026-09-05 10:31 ` Thomas Gleixner [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=87qzj856rk.ffs@fw13 \
--to=tglx@kernel.org \
--cc=andrealmeid@igalia.com \
--cc=catalin.marinas@arm.com \
--cc=dave@stgolabs.net \
--cc=dvhart@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=syzbot+417a6b7c02d5d03f9aa6@syzkaller.appspotmail.com \
--cc=syzkaller-bugs@googlegroups.com \
--cc=will@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.