Signed-off-by: Oded Gabbay <oded.gabbay at amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
index 64c73ba..3b3fce7 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
@@ -149,7 +149,9 @@ static int set_queue_properties_from_user(struct 
queue_properties *q_properties,
        }

        if ((args->ring_base_address) &&
-               (!access_ok(VERIFY_WRITE, args->ring_base_address, 
sizeof(uint64_t)))) {
+               (!access_ok(VERIFY_WRITE,
+                       (const void __user *) args->ring_base_address,
+                       sizeof(uint64_t)))) {
                pr_err("kfd: can't access ring base address\n");
                return -EFAULT;
        }
@@ -159,12 +161,16 @@ static int set_queue_properties_from_user(struct 
queue_properties *q_properties,
                return -EINVAL;
        }

-       if (!access_ok(VERIFY_WRITE, args->read_pointer_address, 
sizeof(uint32_t))) {
+       if (!access_ok(VERIFY_WRITE,
+                       (const void __user *) args->read_pointer_address,
+                       sizeof(uint32_t))) {
                pr_err("kfd: can't access read pointer\n");
                return -EFAULT;
        }

-       if (!access_ok(VERIFY_WRITE, args->write_pointer_address, 
sizeof(uint32_t))) {
+       if (!access_ok(VERIFY_WRITE,
+                       (const void __user *) args->write_pointer_address,
+                       sizeof(uint32_t))) {
                pr_err("kfd: can't access write pointer\n");
                return -EFAULT;
        }
@@ -325,7 +331,9 @@ static int kfd_ioctl_update_queue(struct file *filp, struct 
kfd_process *p,
        }

        if ((args.ring_base_address) &&
-               (!access_ok(VERIFY_WRITE, args.ring_base_address, 
sizeof(uint64_t)))) {
+               (!access_ok(VERIFY_WRITE,
+                       (const void __user *) args.ring_base_address,
+                       sizeof(uint64_t)))) {
                pr_err("kfd: can't access ring base address\n");
                return -EFAULT;
        }
-- 
2.1.0

Reply via email to