Messages in this thread |  | | Date | Wed, 17 May 2023 17:55:45 +0800 | | Subject | Re: [RFC PATCH V6 02/14] x86/sev: Add Check of #HV event in path | | From | Tianyu Lan <> |
| |
On 5/16/2023 5:32 PM, Peter Zijlstra wrote: >> --- a/arch/x86/entry/entry_64.S >> +++ b/arch/x86/entry/entry_64.S >> @@ -1019,6 +1019,15 @@ SYM_CODE_END(paranoid_entry) >> * R15 - old SPEC_CTRL >> */ >> SYM_CODE_START_LOCAL(paranoid_exit) >> +#ifdef CONFIG_AMD_MEM_ENCRYPT >> + /* >> + * If a #HV was delivered during execution and interrupts were >> + * disabled, then check if it can be handled before the iret >> + * (which may re-enable interrupts). >> + */ >> + mov %rsp, %rdi >> + call check_hv_pending >> +#endif >> UNWIND_HINT_REGS >> >> /* >> @@ -1143,6 +1152,15 @@ SYM_CODE_START(error_entry) >> SYM_CODE_END(error_entry) >> >> SYM_CODE_START_LOCAL(error_return) >> +#ifdef CONFIG_AMD_MEM_ENCRYPT >> + /* >> + * If a #HV was delivered during execution and interrupts were >> + * disabled, then check if it can be handled before the iret >> + * (which may re-enable interrupts). >> + */ >> + mov %rsp, %rdi >> + call check_hv_pending >> +#endif >> UNWIND_HINT_REGS >> DEBUG_ENTRY_ASSERT_IRQS_OFF >> testb $3, CS(%rsp) > Oh hell no... do now you're adding unconditional calls to every single > interrupt and nmi exit path, with the grand total of 0 justification. >
Sorry to Add check inside of check_hv_pending(). Will move the check before calling check_hv_pending() in the next version. Thanks.
|  |