* [linux-next:master 13026/14955] drivers/staging/comedi/comedi_fops.c:2954:23: sparse: sparse: incorrect type in assignment (different address spaces)
@ 2020-06-03 6:30 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-06-03 6:30 UTC (permalink / raw
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3975 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 0e21d4620dd047da7952f44a2e1ac777ded2d57e
commit: bac42fb21259783cb748ae54227a5e755340a396 [13026/14955] comedi: get rid of compat_alloc_user_space() mess in COMEDI_CMD{,TEST} compat
config: powerpc64-randconfig-s032-20200602 (attached as .config)
compiler: powerpc64le-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-244-g0ee050a8-dirty
git checkout bac42fb21259783cb748ae54227a5e755340a396
# save the attached .config to linux build tree
make W=1 C=1 ARCH=powerpc64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/staging/comedi/comedi_fops.c:2954:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int *chanlist @@ got void [noderef] <asn:1> * @@
>> drivers/staging/comedi/comedi_fops.c:2954:23: sparse: expected unsigned int *chanlist
>> drivers/staging/comedi/comedi_fops.c:2954:23: sparse: got void [noderef] <asn:1> *
>> drivers/staging/comedi/comedi_fops.c:2981:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:1> *uptr @@ got unsigned int *chanlist @@
>> drivers/staging/comedi/comedi_fops.c:2981:41: sparse: expected void [noderef] <asn:1> *uptr
>> drivers/staging/comedi/comedi_fops.c:2981:41: sparse: got unsigned int *chanlist
vim +2954 drivers/staging/comedi/comedi_fops.c
2932
2933 /* Copy 32-bit cmd structure to native cmd structure. */
2934 static int get_compat_cmd(struct comedi_cmd *cmd,
2935 struct comedi32_cmd_struct __user *cmd32)
2936 {
2937 struct comedi32_cmd_struct v32;
2938
2939 if (copy_from_user(&v32, cmd32, sizeof(v32)))
2940 return -EFAULT;
2941
2942 cmd->subdev = v32.subdev;
2943 cmd->flags = v32.flags;
2944 cmd->start_src = v32.start_src;
2945 cmd->start_arg = v32.start_arg;
2946 cmd->scan_begin_src = v32.scan_begin_src;
2947 cmd->scan_begin_arg = v32.scan_begin_arg;
2948 cmd->convert_src = v32.convert_src;
2949 cmd->convert_arg = v32.convert_arg;
2950 cmd->scan_end_src = v32.scan_end_src;
2951 cmd->scan_end_arg = v32.scan_end_arg;
2952 cmd->stop_src = v32.stop_src;
2953 cmd->stop_arg = v32.stop_arg;
> 2954 cmd->chanlist = compat_ptr(v32.chanlist);
2955 cmd->chanlist_len = v32.chanlist_len;
2956 cmd->data = compat_ptr(v32.data);
2957 cmd->data_len = v32.data_len;
2958 return 0;
2959 }
2960
2961 /* Copy native cmd structure to 32-bit cmd structure. */
2962 static int put_compat_cmd(struct comedi32_cmd_struct __user *cmd32,
2963 struct comedi_cmd *cmd)
2964 {
2965 struct comedi32_cmd_struct v32;
2966
2967 memset(&v32, 0, sizeof(v32));
2968 v32.subdev = cmd->subdev;
2969 v32.flags = cmd->flags;
2970 v32.start_src = cmd->start_src;
2971 v32.start_arg = cmd->start_arg;
2972 v32.scan_begin_src = cmd->scan_begin_src;
2973 v32.scan_begin_arg = cmd->scan_begin_arg;
2974 v32.convert_src = cmd->convert_src;
2975 v32.convert_arg = cmd->convert_arg;
2976 v32.scan_end_src = cmd->scan_end_src;
2977 v32.scan_end_arg = cmd->scan_end_arg;
2978 v32.stop_src = cmd->stop_src;
2979 v32.stop_arg = cmd->stop_arg;
2980 /* Assume chanlist pointer is unchanged. */
> 2981 v32.chanlist = ptr_to_compat(cmd->chanlist);
2982 v32.chanlist_len = cmd->chanlist_len;
2983 v32.data = ptr_to_compat(cmd->data);
2984 v32.data_len = cmd->data_len;
2985 return copy_to_user(cmd32, &v32, sizeof(v32));
2986 }
2987
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 29745 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-06-03 6:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-03 6:30 [linux-next:master 13026/14955] drivers/staging/comedi/comedi_fops.c:2954:23: sparse: sparse: incorrect type in assignment (different address spaces) kbuild test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.