tree:
https://github.com/intel/linux-intel-lts.git 5.10/preempt-rt
head: 2aa7b06beff50959f21350fba872ba5b71380f11
commit: 4a13d96daeb2f402d35b53c718b83609e65d4b3d [10957/20232] v4l: subdev: Add
[GS]_ROUTING ioctls and operations
config: sparc64-randconfig-s031-20211214
(
https://download.01.org/0day-ci/archive/20211216/202112161111.Gk7477fx-lk...)
compiler: sparc64-linux-gcc (GCC) 11.2.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
#
https://github.com/intel/linux-intel-lts/commit/4a13d96daeb2f402d35b53c71...
git remote add intel-lts
https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 5.10/preempt-rt
git checkout 4a13d96daeb2f402d35b53c718b83609e65d4b3d
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc64
SHELL=/bin/bash drivers/media/v4l2-core/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
> drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1355:20: sparse:
sparse: incorrect type in assignment (different address spaces) @@ expected struct
v4l2_subdev_route *routes @@ got void [noderef] __user * @@
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1355:20: sparse: expected struct
v4l2_subdev_route *routes
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1355:20: sparse: got void [noderef]
__user *
> drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1357:26: sparse:
sparse: incorrect type in argument 1 (different address spaces) @@ expected void const
[noderef] __user *addr @@ got struct v4l2_subdev_route *routes @@
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1357:26: sparse: expected void const
[noderef] __user *addr
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1357:26: sparse: got struct
v4l2_subdev_route *routes
> drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1593:55: sparse:
sparse: incorrect type in argument 1 (different address spaces) @@ expected struct
v4l2_subdev_routing *kp @@ got void [noderef] __user *[addressable] new_p64 @@
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1593:55: sparse: expected struct
v4l2_subdev_routing *kp
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1593:55: sparse: got void [noderef]
__user *[addressable] new_p64
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1764:55: sparse: sparse: incorrect type
in argument 1 (different address spaces) @@ expected struct v4l2_subdev_routing *kp @@
got void [noderef] __user *[addressable] new_p64 @@
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1764:55: sparse: expected struct
v4l2_subdev_routing *kp
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1764:55: sparse: got void [noderef]
__user *[addressable] new_p64
vim +1355 drivers/media/v4l2-core/v4l2-compat-ioctl32.c
1342
1343 static int get_v4l2_subdev_routing(struct v4l2_subdev_routing *kp,
1344 struct v4l2_subdev_routing32 __user *up)
1345 {
1346 compat_caddr_t p;
1347
1348 if (!access_ok(up, sizeof(*up)) ||
1349 get_user(p, &up->routes) ||
1350 get_user(kp->num_routes, &up->num_routes) ||
1351 !access_ok(up->reserved, sizeof(*up->reserved)) ||
1352 kp->num_routes > U32_MAX / sizeof(*kp->routes))
1353 return -EFAULT;
1354
1355 kp->routes = compat_ptr(p);
1356
1357 if (!access_ok(kp->routes,
1358
kp->num_routes * (u32)sizeof(*kp->routes)))
1359 return -EFAULT;
1360
1361 return 0;
1362 }
1363
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org