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:   98790bbac4db1697212ce9462ec35ca09c4a2810
commit: 342027c5de4494d14657b64ead536a5671768672 media: v4l2-core: fix compat 
v4l2_buffer handling for time64 ABI
date:   5 months ago
:::::: branch date: 73 minutes ago
:::::: commit date: 5 months ago
config: s390-randconfig-m001-20200524 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild 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

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