Re: [PATCHv3 2/3] x86/tdx: Clarify RIP adjustments in #VE handler

From: Dave Hansen
Date: Thu May 26 2022 - 16:18:30 EST


On 5/26/22 13:13, Kirill A. Shutemov wrote:
>> I'm not super happy with how this comment ended up. First, let's put
>> the comment next to the code to which it applies, like:
>>
>> /*
>> * ve->instr_len is not defined for EPT violations. For those,
>> * the kernel must decode instructions manually and should not
>> * be using this function.
>> */
>> if (WARN_ON_ONCE(ve->exit_reason == EXIT_REASON_EPT_VIOLATION))
>> return 0;
>>
>> /*
>> * Assume that the #VE occurred due to instruction execution.
>> */
>> return ve->instr_len;
> Would it be helpful if the function has a whitelist of exit resons where
> using ve->instr_len is safe? WARN_ONCE() and return 0 otherwise.

Maybe. I was hoping to avoid mostly duplicating the
virt_exception_kernel() switch().