habanalabs: use u64_to_user_ptr() for reading user pointers
authorArnd Bergmann <arnd@arndb.de>
Mon, 17 Jun 2019 12:41:33 +0000 (14:41 +0200)
committerOded Gabbay <oded.gabbay@gmail.com>
Thu, 20 Jun 2019 09:13:19 +0000 (12:13 +0300)
We cannot cast a 64-bit integer to a pointer on 32-bit architectures
without a warning:

drivers/misc/habanalabs/habanalabs_ioctl.c: In function 'debug_coresight':
drivers/misc/habanalabs/habanalabs_ioctl.c:143:23: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
   input = memdup_user((const void __user *) args->input_ptr,

Use the macro that was defined for this purpose.

Fixes: 315bc055ed56 ("habanalabs: add new IOCTL for debug, tracing and profiling")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
drivers/misc/habanalabs/habanalabs_ioctl.c

index eeefb22..b7a0eec 100644 (file)
@@ -140,7 +140,7 @@ static int debug_coresight(struct hl_device *hdev, struct hl_debug_args *args)
        params->op = args->op;
 
        if (args->input_ptr && args->input_size) {
-               input = memdup_user((const void __user *) args->input_ptr,
+               input = memdup_user(u64_to_user_ptr(args->input_ptr),
                                        args->input_size);
                if (IS_ERR(input)) {
                        rc = PTR_ERR(input);