From: Oded Gabbay Date: Wed, 11 May 2022 09:55:30 +0000 (+0300) Subject: habanalabs: return -EFAULT on copy_to_user error X-Git-Tag: v5.19-rc1~45^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=804d514d7977adbdacb3d4b23bc7d35914fe8930;p=thirdparty%2Fkernel%2Flinux.git habanalabs: return -EFAULT on copy_to_user error If copy_to_user failed in info ioctl, we always return -EFAULT so the user will know there was an error. Reported-by: kernel test robot Reported-by: Dan Carpenter Signed-off-by: Oded Gabbay Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/misc/habanalabs/common/habanalabs_ioctl.c b/drivers/misc/habanalabs/common/habanalabs_ioctl.c index 51fa56287309d..8fd2b427863ff 100644 --- a/drivers/misc/habanalabs/common/habanalabs_ioctl.c +++ b/drivers/misc/habanalabs/common/habanalabs_ioctl.c @@ -118,7 +118,6 @@ static int hw_events_info(struct hl_device *hdev, bool aggregate, static int events_info(struct hl_fpriv *hpriv, struct hl_info_args *args) { - int rc; u32 max_size = args->return_size; u64 events_mask; void __user *out = (void __user *) (uintptr_t) args->return_pointer; @@ -131,8 +130,7 @@ static int events_info(struct hl_fpriv *hpriv, struct hl_info_args *args) hpriv->notifier_event.events_mask = 0; mutex_unlock(&hpriv->notifier_event.lock); - rc = copy_to_user(out, &events_mask, sizeof(u64)); - return rc; + return copy_to_user(out, &events_mask, sizeof(u64)) ? -EFAULT : 0; } static int dram_usage_info(struct hl_fpriv *hpriv, struct hl_info_args *args)