From: Michael Kelley <[email protected]>

access_ok() expects its first argument to have the __user attribute
since it is checking access to user space. Current code passes an
argument that lacks that attribute, resulting in 'sparse' flagging
the incorrect usage. However, the compiler doesn't generate code
based on the attribute, so there's no actual bug.

In the interest of general correctness and to avoid noise from sparse,
add the __user attribute. No functional change.

Reported-by: kernel test robot <[email protected]>
Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/
Signed-off-by: Michael Kelley <[email protected]>
---
 drivers/hv/mshv_root_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hv/mshv_root_main.c b/drivers/hv/mshv_root_main.c
index eff1b21461dc..5673af9fe101 100644
--- a/drivers/hv/mshv_root_main.c
+++ b/drivers/hv/mshv_root_main.c
@@ -1280,7 +1280,7 @@ mshv_map_user_memory(struct mshv_partition *partition,
        long ret;
 
        if (mem.flags & BIT(MSHV_SET_MEM_BIT_UNMAP) ||
-           !access_ok((const void *)mem.userspace_addr, mem.size))
+           !access_ok((const void __user *)mem.userspace_addr, mem.size))
                return -EINVAL;
 
        mmap_read_lock(current->mm);
-- 
2.25.1


Reply via email to