x86/sev: Allocate request in TSC_INFO_REQ on stack
Allocate a 88 byte request structure on stack and skip needless kzalloc/kfree. While at this, correct indent. No functional change intended. Signed-off-by: Alexey Kardashevskiy <aik@amd.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com> Reviewed-by: Dionna Glaze <dionnaglaze@google.com> Link: https://lore.kernel.org/20250611040842.2667262-3-aik@amd.com
This commit is contained in:
committed by
Borislav Petkov (AMD)
parent
3f83ab6f9f
commit
d100016eac
+12
-18
@@ -2069,7 +2069,7 @@ static int __init snp_get_tsc_info(void)
|
||||
struct snp_tsc_info_resp *tsc_resp;
|
||||
struct snp_tsc_info_req *tsc_req;
|
||||
struct snp_msg_desc *mdesc;
|
||||
struct snp_guest_req *req;
|
||||
struct snp_guest_req req = {};
|
||||
int rc = -ENOMEM;
|
||||
|
||||
tsc_req = kzalloc(sizeof(*tsc_req), GFP_KERNEL);
|
||||
@@ -2085,28 +2085,24 @@ static int __init snp_get_tsc_info(void)
|
||||
if (!tsc_resp)
|
||||
goto e_free_tsc_req;
|
||||
|
||||
req = kzalloc(sizeof(*req), GFP_KERNEL);
|
||||
if (!req)
|
||||
goto e_free_tsc_resp;
|
||||
|
||||
mdesc = snp_msg_alloc();
|
||||
if (IS_ERR_OR_NULL(mdesc))
|
||||
goto e_free_req;
|
||||
goto e_free_tsc_resp;
|
||||
|
||||
rc = snp_msg_init(mdesc, snp_vmpl);
|
||||
if (rc)
|
||||
goto e_free_mdesc;
|
||||
|
||||
req->msg_version = MSG_HDR_VER;
|
||||
req->msg_type = SNP_MSG_TSC_INFO_REQ;
|
||||
req->vmpck_id = snp_vmpl;
|
||||
req->req_buf = tsc_req;
|
||||
req->req_sz = sizeof(*tsc_req);
|
||||
req->resp_buf = (void *)tsc_resp;
|
||||
req->resp_sz = sizeof(*tsc_resp) + AUTHTAG_LEN;
|
||||
req->exit_code = SVM_VMGEXIT_GUEST_REQUEST;
|
||||
req.msg_version = MSG_HDR_VER;
|
||||
req.msg_type = SNP_MSG_TSC_INFO_REQ;
|
||||
req.vmpck_id = snp_vmpl;
|
||||
req.req_buf = tsc_req;
|
||||
req.req_sz = sizeof(*tsc_req);
|
||||
req.resp_buf = (void *)tsc_resp;
|
||||
req.resp_sz = sizeof(*tsc_resp) + AUTHTAG_LEN;
|
||||
req.exit_code = SVM_VMGEXIT_GUEST_REQUEST;
|
||||
|
||||
rc = snp_send_guest_request(mdesc, req);
|
||||
rc = snp_send_guest_request(mdesc, &req);
|
||||
if (rc)
|
||||
goto e_request;
|
||||
|
||||
@@ -2127,9 +2123,7 @@ e_request:
|
||||
memzero_explicit(tsc_resp, sizeof(*tsc_resp) + AUTHTAG_LEN);
|
||||
e_free_mdesc:
|
||||
snp_msg_free(mdesc);
|
||||
e_free_req:
|
||||
kfree(req);
|
||||
e_free_tsc_resp:
|
||||
e_free_tsc_resp:
|
||||
kfree(tsc_resp);
|
||||
e_free_tsc_req:
|
||||
kfree(tsc_req);
|
||||
|
||||
Reference in New Issue
Block a user