CC: kbuild-...@lists.01.org
CC: linux-ker...@vger.kernel.org
TO: Arnd Bergmann <a...@arndb.de>
CC: Mauro Carvalho Chehab <mche...@kernel.org>
CC: linux-me...@vger.kernel.org
CC: Hans Verkuil <hverk...@xs4all.nl>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   42f82040ee66db13525dc6f14b8559890b2f4c1c
commit: 342027c5de4494d14657b64ead536a5671768672 media: v4l2-core: fix compat 
v4l2_buffer handling for time64 ABI
date:   6 months ago
:::::: branch date: 13 hours ago
:::::: commit date: 6 months ago
config: s390-randconfig-m031-20200710 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>
Reported-by: Dan Carpenter <dan.carpen...@oracle.com>

New smatch warnings:
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:782 get_v4l2_buffer32_time32() 
warn: ignoring unreachable code.

Old smatch warnings:
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:173 get_v4l2_window32() warn: 
ignoring unreachable code.
arch/s390/include/asm/uaccess.h:143 __get_user_fn() error: uninitialized symbol 
'rc'.
arch/s390/include/asm/uaccess.h:113 __put_user_fn() error: uninitialized symbol 
'rc'.
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:682 get_v4l2_buffer32() warn: 
ignoring unreachable code.
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1162 get_v4l2_ext_controls32() 
warn: ignoring unreachable code.

# 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=342027c5de4494d14657b64ead536a5671768672
git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout 342027c5de4494d14657b64ead536a5671768672
vim +782 drivers/media/v4l2-core/v4l2-compat-ioctl32.c

cf664a6458b254 drivers/media/video/compat_ioctl32.c          Philippe De Muyter 
2006-01-09  738  
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  739  static int get_v4l2_buffer32_time32(struct v4l2_buffer_time32 
__user *p64,
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  740                                     struct v4l2_buffer32_time32 
__user *p32,
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  741                                     void __user *aux_buf, u32 
aux_space)
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  742  {
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  743         u32 type;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  744         u32 length;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  745         s32 request_fd;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  746         enum v4l2_memory memory;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  747         struct v4l2_plane32 __user *uplane32;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  748         struct v4l2_plane __user *uplane;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  749         compat_caddr_t p;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  750         int ret;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  751  
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  752         if (!access_ok(p32, sizeof(*p32)) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  753             assign_in_user(&p64->index, &p32->index) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  754             get_user(type, &p32->type) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  755             put_user(type, &p64->type) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  756             assign_in_user(&p64->flags, &p32->flags) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  757             get_user(memory, &p32->memory) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  758             put_user(memory, &p64->memory) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  759             get_user(length, &p32->length) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  760             put_user(length, &p64->length) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  761             get_user(request_fd, &p32->request_fd) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  762             put_user(request_fd, &p64->request_fd))
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  763                 return -EFAULT;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  764  
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  765         if (V4L2_TYPE_IS_OUTPUT(type))
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  766                 if (assign_in_user(&p64->bytesused, 
&p32->bytesused) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  767                     assign_in_user(&p64->field, &p32->field) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  768                     assign_in_user(&p64->timestamp.tv_sec,
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  769                                    &p32->timestamp.tv_sec) ||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  770                     assign_in_user(&p64->timestamp.tv_usec,
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  771                                    &p32->timestamp.tv_usec))
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  772                         return -EFAULT;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  773  
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  774         if (V4L2_TYPE_IS_MULTIPLANAR(type)) {
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  775                 u32 num_planes = length;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  776  
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  777                 if (num_planes == 0) {
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  778                         /*
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  779                          * num_planes == 0 is legal, e.g. when 
userspace doesn't
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  780                          * need planes array on DQBUF
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  781                          */
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16 @782                         return put_user(NULL, &p64->m.planes);
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  783                 }
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  784                 if (num_planes > VIDEO_MAX_PLANES)
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  785                         return -EINVAL;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  786  
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  787                 if (get_user(p, &p32->m.planes))
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  788                         return -EFAULT;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  789  
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  790                 uplane32 = compat_ptr(p);
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  791                 if (!access_ok(uplane32,
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  792                                num_planes * sizeof(*uplane32)))
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  793                         return -EFAULT;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  794  
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  795                 /*
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  796                  * We don't really care if userspace decides to 
kill itself
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  797                  * by passing a very big num_planes value
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  798                  */
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  799                 if (aux_space < num_planes * sizeof(*uplane))
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  800                         return -EFAULT;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  801  
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  802                 uplane = aux_buf;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  803                 if (put_user_force(uplane, &p64->m.planes))
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  804                         return -EFAULT;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  805  
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  806                 while (num_planes--) {
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  807                         ret = get_v4l2_plane32(uplane, 
uplane32, memory);
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  808                         if (ret)
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  809                                 return ret;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  810                         uplane++;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  811                         uplane32++;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  812                 }
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  813         } else {
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  814                 switch (memory) {
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  815                 case V4L2_MEMORY_MMAP:
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  816                 case V4L2_MEMORY_OVERLAY:
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  817                         if (assign_in_user(&p64->m.offset, 
&p32->m.offset))
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  818                                 return -EFAULT;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  819                         break;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  820                 case V4L2_MEMORY_USERPTR: {
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  821                         compat_ulong_t userptr;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  822  
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  823                         if (get_user(userptr, &p32->m.userptr) 
||
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  824                             put_user((unsigned 
long)compat_ptr(userptr),
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  825                                      &p64->m.userptr))
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  826                                 return -EFAULT;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  827                         break;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  828                 }
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  829                 case V4L2_MEMORY_DMABUF:
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  830                         if (assign_in_user(&p64->m.fd, 
&p32->m.fd))
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  831                                 return -EFAULT;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  832                         break;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  833                 }
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  834         }
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  835  
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  836         return 0;
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  837  }
342027c5de4494 drivers/media/v4l2-core/v4l2-compat-ioctl32.c Arnd Bergmann      
2019-12-16  838  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to