[PATCH v8 3/5] arm64: mm: support large block mapping when rodata=full
Guenter Roeck
linux at roeck-us.net
Sun Nov 2 09:52:21 PST 2025
On 11/2/25 09:49, Guenter Roeck wrote:
> On Sun, Nov 2, 2025 at 7:09 AM Ryan Roberts <linux at roeck-us.net> wrote:
Oops. That was sent from my Google address and got messed up.
Copying Ryan this time. Sorry for the noise.
Guenter
> ...
>> commit 602ec2db74e5abfb058bd03934475ead8558eb72
>> Author: Ryan Roberts <ryan.roberts at arm.com>
>> Date: Sun Nov 2 11:45:18 2025 +0000
>>
>> arm64: mm: Don't attempt to split known pte-mapped regions
>>
>> It has been reported that split_kernel_leaf_mapping() is trying to sleep
>> in non-sleepable context. It does this when acquiring the
>> pgtable_split_lock mutex, when either CONFIG_DEBUG_ALLOC or
>> CONFIG_KFENCE are enabled, which change linear map permissions within
>> softirq context during memory allocation and/or freeing.
>>
>> But it turns out that the memory for which these features may attempt to
>> modify the permissions is always mapped by pte, so there is no need to
>> attempt to split the mapping. So let's exit early in these cases and
>> avoid attempting to take the mutex.
>>
>> Closes: https://lore.kernel.org/all/f24b9032-0ec9-47b1-8b95-c0eeac7a31c5@roeck-us.net/
>> Fixes: a166563e7ec3 ("arm64: mm: support large block mapping when rodata=full")
>> Signed-off-by: Ryan Roberts <ryan.roberts at arm.com>
>
> Tested-by: Guenter Roeck <groeck at google.com>
>
> Thanks a lot for the quick turnaround!
>
> Guenter
More information about the linux-arm-kernel
mailing list