[PATCH v2 2/3] arm64: mm: Handle PAN faults on uaccess CPY* instructions

Kristina Martšenko kristina.martsenko at arm.com
Mon Mar 10 07:15:53 PDT 2025


On 07/03/2025 21:37, Catalin Marinas wrote:
> On Fri, Mar 07, 2025 at 06:53:37PM +0000, Robin Murphy wrote:
>> On 2025-03-07 6:45 pm, Catalin Marinas wrote:
>>> On Fri, Feb 28, 2025 at 05:00:05PM +0000, Kristina Martsenko wrote:
>>>> +bool extable_insn_may_access_user(const struct exception_table_entry *ex,
>>>> +				  unsigned long esr)
>>>> +{
>>>> +	switch (ex->type) {
>>>> +	case EX_TYPE_UACCESS_CPY:
>>>> +		return cpy_faulted_on_uaccess(ex, esr);
>>>> +	default:
>>>> +		return true;
>>>> +	}
>>>> +}
>>>
>>> Not a problem with this patch but I wonder whether we should return
>>> false for EX_TYPE_LOAD_UNALIGNED_ZEROPAD for completeness
>>
>> Or maybe rather, true for EX_TYPE_UACCESS_ERR_ZERO and then false in the
>> default case?
> 
> Yes.

I thought you said in an earlier (off-list) discussion that 
EX_TYPE_KACCESS_ERR_ZERO shouldn't return false here because 
__get_kernel_nofault() may get called with untrusted addresses? Or did I
misunderstand?

Thanks,
Kristina




More information about the linux-arm-kernel mailing list