On Wed, Nov 12, 2025 at 08:07:05AM -0800, Sean Christopherson wrote: > Add kernel-doc markup for the register parameters passed by the vDSO blob > to the user handler to suppress build warnings, e.g. > > WARNING: arch/x86/include/uapi/asm/sgx.h:157 function parameter 'r8' not > described in 'sgx_enclave_user_handler_t' > > Call out that except for RSP, the registers are undefined on asynchronous > exits as far as the vDSO ABI is concerned. E.g. the vDSO's exception > handler clobbers RDX, RDI, and RSI, and the kernel doesn't guarantee that > R8 or R9 will be zero (the synthetic value loaded by the CPU). > > Reported-by: Stephen Rothwell <[email protected]> > Closes: https://lore.kernel.org/all/[email protected] > Signed-off-by: Sean Christopherson <[email protected]> > --- > arch/x86/include/uapi/asm/sgx.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/arch/x86/include/uapi/asm/sgx.h b/arch/x86/include/uapi/asm/sgx.h > index a438ea43bfd1..0d408f001ac6 100644 > --- a/arch/x86/include/uapi/asm/sgx.h > +++ b/arch/x86/include/uapi/asm/sgx.h > @@ -143,6 +143,12 @@ struct sgx_enclave_run; > /** > * typedef sgx_enclave_user_handler_t - Exit handler function accepted by > * __vdso_sgx_enter_enclave() > + * @rdi: RDI at the time of EEXIT, undefined on AEX > + * @rsi: RSI at the time of EEXIT, undefined on AEX > + * @rdx: RDX at the time of EEXIT, undefined on AEX > + * @rsp: RSP (untrusted) at the time of EEXIT or AEX > + * @r8: R8 at the time of EEXIT, undefined on AEX > + * @r9: R9 at the time of EEXIT, undefined on AEX > * @run: The run instance given by the caller > * > * The register parameters contain the snapshot of their values at enclave > -- > 2.51.2.1041.gc1ab5b90ca-goog >
Reviewed-by: Jarkko Sakkinen <[email protected]> BR, Jarkko

