Messages in this thread | | | Date | Tue, 12 Apr 2022 18:17:58 +0100 | Subject | Re: [RFC PATCH -next V3 4/6] arm64: add copy_{to, from}_user to machine check safe | From | Robin Murphy <> |
| |
On 12/04/2022 6:08 pm, Robin Murphy wrote: [...] >> @@ -62,7 +63,11 @@ SYM_FUNC_START(__arch_copy_from_user) >> ret >> // Exception fixups >> -9997: cmp dst, dstin >> +9997: mrs esr, esr_el1 // Check exception first >> + and esr, esr, #ESR_ELx_FSC >> + cmp esr, #ESR_ELx_FSC_EXTABT > > Should we be checking EC to make sure it's a data abort - and thus FSC > is valid - in the first place? I'm a little fuzzy on all the possible > paths into fixup_exception(), and it's not entirely obvious whether this > is actually safe or not.
In fact, thinking some more about that, I don't think there should be any need for this sort of logic in these handlers at all. The fixup_exception() machinery should already know enough about the exception that's happened and the extable entry to figure this out and not bother calling the handler at all.
Thanks, Robin.
| |