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