2022-05-28 19:11:44

by Heinrich Schuchardt

[permalink] [raw]
Subject: Re: [PATCH] riscv: read-only pages should not be writable



On 5/28/22 11:13, Ard Biesheuvel wrote:
> On Sat, 28 May 2022 at 03:41, Heinrich Schuchardt
> <[email protected]> wrote:
>>
>> If EFI pages are marked as read-only,
>> we should remove the _PAGE_WRITE flag.
>>
>> The current code overwrites an unused value.
>>
>> Fixes: b91540d52a08b ("RISC-V: Add EFI runtime services")
>> Signed-off-by: Heinrich Schuchardt <[email protected]>
>> ---
>> arch/riscv/kernel/efi.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/riscv/kernel/efi.c b/arch/riscv/kernel/efi.c
>> index 024159298231..1aa540350abd 100644
>> --- a/arch/riscv/kernel/efi.c
>> +++ b/arch/riscv/kernel/efi.c
>> @@ -65,7 +65,7 @@ static int __init set_permissions(pte_t *ptep, unsigned long addr, void *data)
>>
>> if (md->attribute & EFI_MEMORY_RO) {
>> val = pte_val(pte) & ~_PAGE_WRITE;
>> - val = pte_val(pte) | _PAGE_READ;
>> + val |= _PAGE_READ;
>> pte = __pte(val);
>> }
>> if (md->attribute & EFI_MEMORY_XP) {
>> --
>> 2.36.1
>>
>
> Thanks Heinrich
>
> Queued in efi/urgent.

I guess this should also be down-ported to 5.15 and 5.10.

Best regards

Heinrich