habanalabs: correctly cast u64 to void*
authorOded Gabbay <oded.gabbay@gmail.com>
Mon, 1 Jun 2020 06:56:48 +0000 (09:56 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Jun 2020 07:08:10 +0000 (09:08 +0200)
Use the u64_to_user_ptr(x) kernel macro to correctly cast u64 to void*

Reported-by: kbuild test robot <lkp@intel.com>
Reviewed-by: Omer Shpigelman <oshpigelman@habana.ai>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Link: https://lore.kernel.org/r/20200601065648.8775-2-oded.gabbay@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/habanalabs/command_submission.c

index 75d8302..f82974a 100644 (file)
@@ -789,7 +789,7 @@ static int cs_ioctl_signal_wait(struct hl_fpriv *hpriv, enum hl_cs_type cs_type,
                size_to_copy = chunk->num_signal_seq_arr *
                                sizeof(*signal_seq_arr);
                if (copy_from_user(signal_seq_arr,
-                                       (void __user *) chunk->signal_seq_arr,
+                                       u64_to_user_ptr(chunk->signal_seq_arr),
                                        size_to_copy)) {
                        dev_err(hdev->dev,
                                "Failed to copy signal seq array from user\n");