aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorZhihao Cheng <chengzhihao1@huawei.com>2025-01-20 12:38:24 +0800
committerRichard Weinberger <richard@nod.at>2025-01-20 09:09:24 +0100
commit69146a8c893f734cefaac0af6f917f894f29077e (patch)
tree3cad8de523ddac18cf6a7e0594ff5e9e6cee977f
parentubi: Implement ioctl for detailed erase counters (diff)
downloadwireguard-linux-69146a8c893f734cefaac0af6f917f894f29077e.tar.xz
wireguard-linux-69146a8c893f734cefaac0af6f917f894f29077e.zip
ubi: ubi_get_ec_info: Fix compiling error 'cast specifies array type'
On risc V platform, there is a type conversion for the return value (unsigned long type) of __untagged_addr_remote() in function untagged_addr(). The compiler will complain when the parameter 'addr' is an array type: arch/riscv/include/asm/uaccess.h:33:9: error: cast specifies array type (__force __typeof__(addr))__untagged_addr_remote(current->mm, __addr) Fix it by converting the input parameter as a pointer. Fixes: 01099f635a4c ("ubi: Implement ioctl for detailed erase counters") Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202501191405.WYnmdL0U-lkp@intel.com/ Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com> Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to '')
-rw-r--r--drivers/mtd/ubi/cdev.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mtd/ubi/cdev.c b/drivers/mtd/ubi/cdev.c
index 4c3e4edb6853..b700a0efaa93 100644
--- a/drivers/mtd/ubi/cdev.c
+++ b/drivers/mtd/ubi/cdev.c
@@ -851,7 +851,8 @@ static int ubi_get_ec_info(struct ubi_device *ubi, struct ubi_ecinfo_req __user
end_peb = ubi->peb_count;
/* Check access rights before filling erase_counters array */
- if (!access_ok(ureq->erase_counters, (end_peb-req.start) * sizeof(int32_t)))
+ if (!access_ok((void __user *)ureq->erase_counters,
+ (end_peb-req.start) * sizeof(int32_t)))
return -EFAULT;
/* Fill erase counter array */