[PATCH] staging: vchiq: Avoid mixing bulk_userdata kernel and userspace pointer
Stefan Wahren
wahrenst at gmx.net
Tue Jul 30 11:05:24 PDT 2024
Hi Umang,
Am 30.07.24 um 19:08 schrieb Umang Jain:
> In vchiq_dev.c, there are two places where the __user bulk_userdata
> pointer to set to a kernel-space pointer which then gives relevant
> Sparse warnings as below:
>
> vchiq_dev.c:328:26: warning: incorrect type in assignment (different address spaces)
> vchiq_dev.c:328:26: expected void *[assigned] userdata
> vchiq_dev.c:328:26: got void [noderef] __user *userdata
> vchiq_dev.c:543:47: warning: incorrect type in assignment (different address spaces)
> vchiq_dev.c:543:47: expected void [noderef] __user *[addressable] [assigned] bulk_userdata
> vchiq_dev.c:543:47: got void *bulk_userdata
>
> This is solved by adding additional functional argument to track the
> userspace bulk_userdata separately and passing it accordingly to
> completion handlers.
IMO this patch fixes the issue for spare, but don't address the
confusing member naming for humans. It's not clear that "userdata" is a
kernel pointer and "uuserdata" is a pointer to userspace. It would be
nice to avoid the word "user" for kernel pointer in this case.
Thanks
More information about the linux-arm-kernel
mailing list