Alexandre Ghiti
edf9556472
riscv: Use accessors to page table entries instead of direct dereference
...
As very well explained in commit 20a004e7b0 ("arm64: mm: Use
READ_ONCE/WRITE_ONCE when accessing page tables"), an architecture whose
page table walker can modify the PTE in parallel must use
READ_ONCE()/WRITE_ONCE() macro to avoid any compiler transformation.
So apply that to riscv which is such architecture.
Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com >
Acked-by: Anup Patel <anup@brainfault.org >
Link: https://lore.kernel.org/r/20231213203001.179237-5-alexghiti@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com >
2023-12-20 10:48:15 -08:00
Ard Biesheuvel
cf1d2ffcc6
efi: Discover BTI support in runtime services regions
...
Add the generic plumbing to detect whether or not the runtime code
regions were constructed with BTI/IBT landing pads by the firmware,
permitting the OS to enable enforcement when mapping these regions into
the OS's address space.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org >
Reviewed-by: Kees Cook <keescook@chromium.org >
2023-02-04 09:19:02 +01:00
Heinrich Schuchardt
630f972d76
riscv: read-only pages should not be writable
...
If EFI pages are marked as read-only,
we should remove the _PAGE_WRITE flag.
The current code overwrites an unused value.
Fixes: b91540d52a ("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 >
2022-05-28 11:39:31 +02:00
Atish Patra
b91540d52a
RISC-V: Add EFI runtime services
...
This patch adds EFI runtime service support for RISC-V.
Signed-off-by: Atish Patra <atish.patra@wdc.com >
[ardb: - Remove the page check]
Signed-off-by: Ard Biesheuvel <ardb@kernel.org >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com >
2020-10-02 14:31:28 -07:00