[RFC PATCH V2 10/38] riscv: u64ilp32: Remove the restriction of UXL=32

From: guoren
Date: Sun Nov 12 2023 - 01:16:58 EST


From: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>

The u64ilp32 needn't hardware support UXL=32, so remove the
restriction when EF_RISCV_64ILP32 is detected.

Reported-by: Junqiang Wang <wangjunqiang@xxxxxxxxxxx>
Signed-off-by: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>
Signed-off-by: Guo Ren <guoren@xxxxxxxxxx>
---
arch/riscv/kernel/process.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/riscv/kernel/process.c b/arch/riscv/kernel/process.c
index e32d737e039f..93057ca2e2a7 100644
--- a/arch/riscv/kernel/process.c
+++ b/arch/riscv/kernel/process.c
@@ -88,7 +88,7 @@ static bool compat_mode_supported __read_mostly;

bool compat_elf_check_arch(Elf32_Ehdr *hdr)
{
- return compat_mode_supported &&
+ return (compat_mode_supported || (hdr->e_flags & EF_RISCV_64ILP32)) &&
hdr->e_machine == EM_RISCV &&
hdr->e_ident[EI_CLASS] == ELFCLASS32;
}
--
2.36.1