public inbox for linux-coco@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH v1] virt: tdx-guest: Handle GetQuote request error code
@ 2024-01-09  5:46 Kuppuswamy Sathyanarayanan
  2024-01-09 13:17 ` Kirill A . Shutemov
  0 siblings, 1 reply; 4+ messages in thread
From: Kuppuswamy Sathyanarayanan @ 2024-01-09  5:46 UTC (permalink / raw)
  To: Kirill A . Shutemov, x86
  Cc: Dave Hansen, Dan Williams, Xiaoyao Li, linux-kernel, linux-coco

Currently when a user requests for the Quote generation, the Quote
generation handler (tdx_report_new()) only checks whether the VMM
successfully processes the Quote generation request (status !=
GET_QUOTE_IN_FLIGHT) and returns the output to the user without
validating the status of the output data. Since VMM can return error
even after processing the Quote request, returning success just after
successful processing will create confusion to the user. Although for
the failed request, output buffer length will be zero and can also be
used by the user to identify the failure case, it will be more clear to
return error for all failed cases. So validate the Quote output status
and return error code for all failed cases.

Fixes: f4738f56d1dc ("virt: tdx-guest: Add Quote generation support using TSM_REPORTS")
Reported-by: Xiaoyao Li <xiaoyao.li@intel.com>
Closes: https://lore.kernel.org/linux-coco/6bdf569c-684a-4459-af7c-4430691804eb@linux.intel.com/T/#u
Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
---
 drivers/virt/coco/tdx-guest/tdx-guest.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/virt/coco/tdx-guest/tdx-guest.c b/drivers/virt/coco/tdx-guest/tdx-guest.c
index 1253bf76b570..61368318fa39 100644
--- a/drivers/virt/coco/tdx-guest/tdx-guest.c
+++ b/drivers/virt/coco/tdx-guest/tdx-guest.c
@@ -228,6 +228,12 @@ static int tdx_report_new(struct tsm_report *report, void *data)
 		goto done;
 	}
 
+	if (quote_buf->status != GET_QUOTE_SUCCESS) {
+		pr_err("GetQuote request failed, ret %llx\n", quote_buf->status);
+		ret = -EIO;
+		goto done;
+	}
+
 	buf = kvmemdup(quote_buf->data, quote_buf->out_len, GFP_KERNEL);
 	if (!buf) {
 		ret = -ENOMEM;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-01-10 12:54 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-09  5:46 [PATCH v1] virt: tdx-guest: Handle GetQuote request error code Kuppuswamy Sathyanarayanan
2024-01-09 13:17 ` Kirill A . Shutemov
2024-01-10  3:56   ` Kuppuswamy Sathyanarayanan
2024-01-10 12:54     ` Kirill A . Shutemov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox