Thread (11 messages) 11 messages, 3 authors, 2023-10-31

Re: qemu-arm64: handle_futex_death - kernel/futex/core.c:661 - Unable to handle kernel unknown 43 at virtual address

From: Ard Biesheuvel <ardb@kernel.org>
Date: 2023-10-26 15:39:32
Also in: linux-next, lkml, ltp

On Thu, 26 Oct 2023 at 17:30, Mark Rutland [off-list ref] wrote:
On Thu, Oct 26, 2023 at 08:11:26PM +0530, Naresh Kamboju wrote:
quoted
Following kernel crash noticed on qemu-arm64 while running LTP syscalls
set_robust_list test case running Linux next 6.6.0-rc7-next-20231026 and
6.6.0-rc7-next-20231025.

BAD: next-20231025
Good: next-20231024

Reported-by: Linux Kernel Functional Testing <redacted>
Reported-by: Naresh Kamboju <redacted>

Log:
----
<1>[  203.119139] Unable to handle kernel unknown 43 at virtual
address 0001ffff9e2e7d78
<1>[  203.119838] Mem abort info:
<1>[  203.120064]   ESR = 0x000000009793002b
<1>[  203.121040]   EC = 0x25: DABT (current EL), IL = 32 bits
set_robust_list01    1  TPASS  :  set_robust_list: retval = -1
(expected -1), errno = 22 (expected 22)
set_robust_list01    2  TPASS  :  set_robust_list: retval = 0
(expected 0), errno = 0 (expected 0)
<1>[  203.124496]   SET = 0, FnV = 0
<1>[  203.124778]   EA = 0, S1PTW = 0
<1>[  203.125029]   FSC = 0x2b: unknown 43
It looks like this is fallout from the LPA2 enablement.

According to the latest ARM ARM (ARM DDI 0487J.a), page D19-6475, that "unknown
43" (0x2b / 0b101011) is the DFSC for a level -1 translation fault:

        0b101011 When FEAT_LPA2 is implemented:
                 Translation fault, level -1.

It's triggered here by an LDTR in a get_user() on a bogus userspace address.
The exception is expected, and it's supposed to be handled via the exception
fixups, but the LPA2 patches didn't update the fault_info table entries for all
the level -1 faults, and so those all get handled by do_bad() and don't call
fixup_exception(), causing them to be fatal.

It should be relatively simple to update the fault_info table for the level -1
faults, but given the other issues we're seeing I think it's probably worth
dropping the LPA2 patches for the moment.
Thanks for the analysis Mark.

I agree that this should not be difficult to fix, but given the other
CI problems and identified loose ends, I am not going to object to
dropping this partially or entirely at this point. I'm sure everybody
will be thrilled to go over those 60 patches again after I rebase them
onto v6.7-rc1 :-)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help