diff options
author | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> | 2022-05-28 03:41:32 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-06-14 18:32:36 +0200 |
commit | b97550e380ca21db3a3cb6586bdef798cc2ae1d1 (patch) | |
tree | ac4220f25d594512b3e32d159cd322a4448f27b3 /arch | |
parent | 8f49e1694cbc29e76d5028267c1978cc2630e494 (diff) | |
download | linux-stable-b97550e380ca21db3a3cb6586bdef798cc2ae1d1.tar.gz linux-stable-b97550e380ca21db3a3cb6586bdef798cc2ae1d1.tar.bz2 linux-stable-b97550e380ca21db3a3cb6586bdef798cc2ae1d1.zip |
riscv: read-only pages should not be writable
[ Upstream commit 630f972d76d6460235e84e1aa034ee06f9c8c3a9 ]
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>
Link: https://lore.kernel.org/r/20220528014132.91052-1-heinrich.schuchardt@canonical.com
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/riscv/kernel/efi.c | 2 |
1 files changed, 1 insertions, 1 deletions
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) { |