diff mbox series

habanalabs: use u64_to_user_ptr() for reading user pointers

Message ID 20190617124150.989515-1-arnd@arndb.de
State Accepted
Commit f99bc332c713b7672bad5236060b02f0c41c7242
Headers show
Series habanalabs: use u64_to_user_ptr() for reading user pointers | expand

Commit Message

Arnd Bergmann June 17, 2019, 12:41 p.m. UTC
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>

---
 drivers/misc/habanalabs/habanalabs_ioctl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.20.0

Comments

Oded Gabbay June 20, 2019, 9:15 a.m. UTC | #1
On Mon, Jun 17, 2019 at 3:41 PM Arnd Bergmann <arnd@arndb.de> wrote:
>

> 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>

> ---

>  drivers/misc/habanalabs/habanalabs_ioctl.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

>

> diff --git a/drivers/misc/habanalabs/habanalabs_ioctl.c b/drivers/misc/habanalabs/habanalabs_ioctl.c

> index eeefb22023e9..b7a0eecf6b6c 100644

> --- a/drivers/misc/habanalabs/habanalabs_ioctl.c

> +++ b/drivers/misc/habanalabs/habanalabs_ioctl.c

> @@ -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);

> --

> 2.20.0

>


Thanks!
applied to -fixes

Oded
diff mbox series

Patch

diff --git a/drivers/misc/habanalabs/habanalabs_ioctl.c b/drivers/misc/habanalabs/habanalabs_ioctl.c
index eeefb22023e9..b7a0eecf6b6c 100644
--- a/drivers/misc/habanalabs/habanalabs_ioctl.c
+++ b/drivers/misc/habanalabs/habanalabs_ioctl.c
@@ -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);