On 11/9/22 6:24 AM, Wander Lairson Costa wrote:
- reportdata = kmalloc(TDX_REPORTDATA_LEN, GFP_KERNEL);
- if (!reportdata)
return -ENOMEM;
- tdreport = kzalloc(TDX_REPORT_LEN, GFP_KERNEL);
- if (!tdreport) {
ret = -ENOMEM;
goto out;
- }
Isn't simpler just allocating a struct tdx_report_req? You would save one allocation and a few lines of code.
TDG.MR.TDCALL expects reportdata and tdreport buffers to be size aligned. So, allocating them together with sizeof(struct tdx report req) will not work. We can get around this by allocating a slightly larger buffer size. However, because it is not a time-critical path, I believe that allocating two separate buffers for input/output is simpler.