x86/tdx: Do not corrupt frame-pointer in __tdx_hypercall()
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Mon, 30 Jan 2023 13:53:54 +0000 (16:53 +0300)
committerDave Hansen <dave.hansen@linux.intel.com>
Fri, 3 Feb 2023 00:31:25 +0000 (16:31 -0800)
commit1e70c680375aa33cca97bff0bca68c0f82f5023c
treed73e781b56e3cf66517d1ad079257aa4b1d9a628
parent8de62af018cc9262649d7688f7eb1409b2d8f594
x86/tdx: Do not corrupt frame-pointer in __tdx_hypercall()

If compiled with CONFIG_FRAME_POINTER=y, objtool is not happy that
__tdx_hypercall() messes up RBP:

  objtool: __tdx_hypercall+0x7f: return with modified stack frame

Rework the function to store TDX_HCALL_ flags on stack instead of RBP.

[ dhansen: minor changelog tweaks ]

Fixes: c30c4b2555ba ("x86/tdx: Refactor __tdx_hypercall() to allow pass down more arguments")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://lore.kernel.org/all/202301290255.buUBs99R-lkp@intel.com
Link: https://lore.kernel.org/all/20230130135354.27674-1-kirill.shutemov%40linux.intel.com
arch/x86/coco/tdx/tdcall.S