Messages in this thread | | | Date | Thu, 25 Jan 2024 06:50:07 -0800 | From | Andi Kleen <> | Subject | Re: [PATCHv3, RESEND] x86/trampoline: Bypass compat mode in trampoline_start64() if not needed |
| |
> I think it is cleaner to switch to IRET here. Does this work for you? > > diff --git a/arch/x86/realmode/rm/trampoline_64.S b/arch/x86/realmode/rm/trampoline_64.S > index 608f108cba7d..14d9c7daf90f 100644 > --- a/arch/x86/realmode/rm/trampoline_64.S > +++ b/arch/x86/realmode/rm/trampoline_64.S > @@ -243,7 +243,9 @@ SYM_CODE_START(trampoline_start64) > movl $pa_trampoline_pgd, %eax > movq %rax, %cr3 > > - jmpq *tr_start(%rip) > + pushq $__KERNEL_CS > + pushq tr_start(%rip) > + lretq
Looks good. Thanks.
-Andi
| |