On Sun, Oct 30, 2022 at 07:53:19AM +0100, Greg Kroah-Hartman wrote:
On Sat, Oct 29, 2022 at 04:17:39PM -0700, Sathyanarayanan Kuppuswamy wrote:
Hi Greg
On 10/27/22 11:25 PM, Greg Kroah-Hartman wrote:
On Thu, Oct 27, 2022 at 05:28:19PM -0700, Kuppuswamy Sathyanarayanan wrote:
+static long tdx_guest_ioctl(struct file *file, unsigned int cmd,
unsigned long arg)
+{
- switch (cmd) {
- case TDX_CMD_GET_REPORT:
return tdx_get_report((void __user *)arg);
You know the type of this pointer here, why not cast it instead of having to cast it from void * again?
The only place we use arg pointer is in copy_from_user() function, which expects void __user * pointer. So why cast it as struct tdx_report_req * here?
Because then your function will show the true type and you don't have to cast it again.
If we are taking this route, isn't better to move the copy_from_user call to tdx_guest_ioctl and pass the resulting struct tdx_report_req pointer to tdx_get_report?