Commit 243ea511 authored by Sean Christopherson's avatar Sean Christopherson Committed by Dave Hansen
Browse files

x86/sgx: Add kernel-doc descriptions for params passed to vDSO user handler

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).

Closes: https://lore.kernel.org/all/20251106145506.145fc620@canb.auug.org.au


Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: default avatarKai Huang <kai.huang@intel.com>
Link: https://patch.msgid.link/20251112160708.1343355-3-seanjc%40google.com
parent 75801ca6
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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