[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