On 17.05.24 16:32, Kirill A. Shutemov wrote:
On Mon, Feb 26, 2024 at 12:25:41AM -0800, isaku.yamahata@xxxxxxxxx wrote:@@ -725,6 +967,17 @@ static int __init tdx_module_setup(void)tdx_info->nr_tdcs_pages = tdcs_base_size / PAGE_SIZE; + /*+ * Make TDH.VP.ENTER preserve RBP so that the stack unwinder + * always work around it. Query the feature. + */ + if (!(tdx_info->features0 & MD_FIELD_ID_FEATURES0_NO_RBP_MOD) && + !IS_ENABLED(CONFIG_FRAME_POINTER)) {I think it supposed to be IS_ENABLED(CONFIG_FRAME_POINTER). "!" shouldn't be here.
No, I don't think so. With CONFIG_FRAME_POINTER %rbp is being saved and restored, so there is no problem in case the seamcall is clobbering it. Juergen
+ pr_err("Too old version of TDX module. Consider upgrade.\n"); + ret = -EOPNOTSUPP; + goto error_out; + } + return 0;
Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature