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