Re: [PATCH v14 2/3] virt: Add TDX guest driver

From: Sathyanarayanan Kuppuswamy
Date: Wed Oct 12 2022 - 19:01:43 EST




On 10/12/22 8:47 AM, Borislav Petkov wrote:
> On Wed, Sep 28, 2022 at 02:55:34PM -0700, Kuppuswamy Sathyanarayanan wrote:
>> +static long tdx_get_report(void __user *argp)
>> +{
>> + u8 *reportdata, *tdreport;
>> + struct tdx_report_req req;
>> + long ret;
>> +
>> + if (copy_from_user(&req, argp, sizeof(req)))
>> + return -EFAULT;
>> +
>> + /*
>> + * Per TDX Module 1.0 specification, section titled
>> + * "TDG.MR.REPORT", REPORTDATA length is fixed as
>> + * TDX_REPORTDATA_LEN, TDREPORT length is fixed as
>> + * TDX_REPORT_LEN, and TDREPORT subtype is fixed as 0.
>> + */
>> + if (req.subtype || req.rpd_len != TDX_REPORTDATA_LEN ||
>> + req.tdr_len != TDX_REPORT_LEN)
>> + return -EINVAL;
>> +
>> + if (memchr_inv(req.reserved, 0, sizeof(req.reserved)))
>
> I'm guessing we should issue something here to userspace to let it know
> why the it fails getting the report.

I am fine with adding an error message here. What about the above -EINVAL
case? Do you suggest adding it there as well?

>
> Otherwise it is starting to look good and boring. :)
>
> Thx.
>

--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer