Message ID | 20220528014132.91052-1-heinrich.schuchardt@canonical.com |
---|---|
State | Accepted |
Commit | 630f972d76d6460235e84e1aa034ee06f9c8c3a9 |
Headers | show |
Series | riscv: read-only pages should not be writable | expand |
On Sat, 28 May 2022 at 03:41, Heinrich Schuchardt <heinrich.schuchardt@canonical.com> 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 <heinrich.schuchardt@canonical.com> > --- > 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.
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) {
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 <heinrich.schuchardt@canonical.com> --- arch/riscv/kernel/efi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)