tree:
git://linuxtv.org/hverkuil/media_tree.git for-v5.11g
head: 8b1bad443e65afcd03657b01aec8722f2d7fa61e
commit: 2eed9c4fd4573a8149760a79dcfdcf80a6396012 [2/6] v4l2-compat-ioctl32.c: add missing
#ifdef CONFIG_COMPAT_32BIT_TIMEs
config: mips-randconfig-m031-20201113 (attached as .config)
compiler: mips64el-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add hverkuil-media
git://linuxtv.org/hverkuil/media_tree.git
git fetch --no-tags hverkuil-media for-v5.11g
git checkout 2eed9c4fd4573a8149760a79dcfdcf80a6396012
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/asm-generic/ioctl.h:5,
from arch/mips/include/uapi/asm/ioctl.h:26,
from arch/mips/include/uapi/asm/sockios.h:14,
from arch/mips/include/uapi/asm/socket.h:14,
from arch/mips/include/asm/socket.h:12,
from include/linux/socket.h:6,
from include/linux/compat.h:15,
from drivers/media/v4l2-core/v4l2-compat-ioctl32.c:17:
drivers/media/v4l2-core/v4l2-compat-ioctl32.c: In function
'v4l2_compat_get_array_args':
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:49: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:34: note: in expansion of macro
'_IOWR'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1062:7: note: in expansion of macro
'VIDIOC_QUERYBUF32_TIME32'
1062 | case VIDIOC_QUERYBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~
> include/asm-generic/ioctl.h:13:25: error: array type has
incomplete element type 'struct v4l2_buffer32_time32'
13 |
((sizeof(t) == sizeof(t[1]) && \
| ^
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:34: note: in expansion of macro
'_IOWR'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1062:7: note: in expansion of macro
'VIDIOC_QUERYBUF32_TIME32'
1062 | case VIDIOC_QUERYBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:49: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:34: note: in expansion of macro
'_IOWR'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1062:7: note: in expansion of macro
'VIDIOC_QUERYBUF32_TIME32'
1062 | case VIDIOC_QUERYBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:49: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:34: note: in expansion of macro
'_IOWR'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1062:7: note: in expansion of macro
'VIDIOC_QUERYBUF32_TIME32'
1062 | case VIDIOC_QUERYBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:45: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:30: note: in expansion of macro
'_IOWR'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1063:7: note: in expansion of macro
'VIDIOC_QBUF32_TIME32'
1063 | case VIDIOC_QBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~
> include/asm-generic/ioctl.h:13:25: error: array type has
incomplete element type 'struct v4l2_buffer32_time32'
13 |
((sizeof(t) == sizeof(t[1]) && \
| ^
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:30: note: in expansion of macro
'_IOWR'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1063:7: note: in expansion of macro
'VIDIOC_QBUF32_TIME32'
1063 | case VIDIOC_QBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:45: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:30: note: in expansion of macro
'_IOWR'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1063:7: note: in expansion of macro
'VIDIOC_QBUF32_TIME32'
1063 | case VIDIOC_QBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:45: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:30: note: in expansion of macro
'_IOWR'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1063:7: note: in expansion of macro
'VIDIOC_QBUF32_TIME32'
1063 | case VIDIOC_QBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:46: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:31: note: in expansion of macro
'_IOWR'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1064:7: note: in expansion of macro
'VIDIOC_DQBUF32_TIME32'
1064 | case VIDIOC_DQBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~
> include/asm-generic/ioctl.h:13:25: error: array type has
incomplete element type 'struct v4l2_buffer32_time32'
13 |
((sizeof(t) == sizeof(t[1]) && \
| ^
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:31: note: in expansion of macro
'_IOWR'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1064:7: note: in expansion of macro
'VIDIOC_DQBUF32_TIME32'
1064 | case VIDIOC_DQBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:46: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:31: note: in expansion of macro
'_IOWR'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1064:7: note: in expansion of macro
'VIDIOC_DQBUF32_TIME32'
1064 | case VIDIOC_DQBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:46: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:31: note: in expansion of macro
'_IOWR'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1064:7: note: in expansion of macro
'VIDIOC_DQBUF32_TIME32'
1064 | case VIDIOC_DQBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:52: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:37: note: in expansion of macro
'_IOWR'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1065:7: note: in expansion of macro
'VIDIOC_PREPARE_BUF32_TIME32'
1065 | case VIDIOC_PREPARE_BUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/asm-generic/ioctl.h:13:25: error: array type has
incomplete element type 'struct v4l2_buffer32_time32'
13 |
((sizeof(t) == sizeof(t[1]) && \
| ^
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:37: note: in expansion of macro
'_IOWR'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1065:7: note: in expansion of macro
'VIDIOC_PREPARE_BUF32_TIME32'
1065 | case VIDIOC_PREPARE_BUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:52: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:37: note: in expansion of macro
'_IOWR'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1065:7: note: in expansion of macro
'VIDIOC_PREPARE_BUF32_TIME32'
1065 | case VIDIOC_PREPARE_BUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:52: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:37: note: in expansion of macro
'_IOWR'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1065:7: note: in expansion of macro
'VIDIOC_PREPARE_BUF32_TIME32'
1065 | case VIDIOC_PREPARE_BUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c: In function
'v4l2_compat_put_array_args':
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:49: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:34: note: in expansion of macro
'_IOWR'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1152:7: note: in expansion of macro
'VIDIOC_QUERYBUF32_TIME32'
1152 | case VIDIOC_QUERYBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~
> include/asm-generic/ioctl.h:13:25: error: array type has
incomplete element type 'struct v4l2_buffer32_time32'
13 |
((sizeof(t) == sizeof(t[1]) && \
| ^
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:34: note: in expansion of macro
'_IOWR'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1152:7: note: in expansion of macro
'VIDIOC_QUERYBUF32_TIME32'
1152 | case VIDIOC_QUERYBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:49: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:34: note: in expansion of macro
'_IOWR'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1152:7: note: in expansion of macro
'VIDIOC_QUERYBUF32_TIME32'
1152 | case VIDIOC_QUERYBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:49: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:856:34: note: in expansion of macro
'_IOWR'
856 | #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1152:7: note: in expansion of macro
'VIDIOC_QUERYBUF32_TIME32'
1152 | case VIDIOC_QUERYBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:45: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:30: note: in expansion of macro
'_IOWR'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1153:7: note: in expansion of macro
'VIDIOC_QBUF32_TIME32'
1153 | case VIDIOC_QBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~
> include/asm-generic/ioctl.h:13:25: error: array type has
incomplete element type 'struct v4l2_buffer32_time32'
13 |
((sizeof(t) == sizeof(t[1]) && \
| ^
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:30: note: in expansion of macro
'_IOWR'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1153:7: note: in expansion of macro
'VIDIOC_QBUF32_TIME32'
1153 | case VIDIOC_QBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:45: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:30: note: in expansion of macro
'_IOWR'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1153:7: note: in expansion of macro
'VIDIOC_QBUF32_TIME32'
1153 | case VIDIOC_QBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:45: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:860:30: note: in expansion of macro
'_IOWR'
860 | #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1153:7: note: in expansion of macro
'VIDIOC_QBUF32_TIME32'
1153 | case VIDIOC_QBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:46: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:31: note: in expansion of macro
'_IOWR'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1154:7: note: in expansion of macro
'VIDIOC_DQBUF32_TIME32'
1154 | case VIDIOC_DQBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~
> include/asm-generic/ioctl.h:13:25: error: array type has
incomplete element type 'struct v4l2_buffer32_time32'
13 |
((sizeof(t) == sizeof(t[1]) && \
| ^
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:31: note: in expansion of macro
'_IOWR'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1154:7: note: in expansion of macro
'VIDIOC_DQBUF32_TIME32'
1154 | case VIDIOC_DQBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:46: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:31: note: in expansion of macro
'_IOWR'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1154:7: note: in expansion of macro
'VIDIOC_DQBUF32_TIME32'
1154 | case VIDIOC_DQBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:46: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:862:31: note: in expansion of macro
'_IOWR'
862 | #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1154:7: note: in expansion of macro
'VIDIOC_DQBUF32_TIME32'
1154 | case VIDIOC_DQBUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:52: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:37: note: in expansion of macro
'_IOWR'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1155:7: note: in expansion of macro
'VIDIOC_PREPARE_BUF32_TIME32'
1155 | case VIDIOC_PREPARE_BUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/asm-generic/ioctl.h:13:25: error: array type has
incomplete element type 'struct v4l2_buffer32_time32'
13 |
((sizeof(t) == sizeof(t[1]) && \
| ^
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:37: note: in expansion of macro
'_IOWR'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1155:7: note: in expansion of macro
'VIDIOC_PREPARE_BUF32_TIME32'
1155 | case VIDIOC_PREPARE_BUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:52: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:37: note: in expansion of macro
'_IOWR'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1155:7: note: in expansion of macro
'VIDIOC_PREPARE_BUF32_TIME32'
1155 | case VIDIOC_PREPARE_BUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:52: error: invalid application of
'sizeof' to incomplete type 'struct v4l2_buffer32_time32'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~~
include/uapi/asm-generic/ioctl.h:73:5: note: in definition of macro '_IOC'
73 | ((size) << _IOC_SIZESHIFT))
| ^~~~
include/uapi/asm-generic/ioctl.h:88:68: note: in expansion of macro
'_IOC_TYPECHECK'
88 | #define _IOWR(type,nr,size)
_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
^~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:875:37: note: in expansion of macro
'_IOWR'
875 | #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct
v4l2_buffer32_time32)
| ^~~~~
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:1155:7: note: in expansion of macro
'VIDIOC_PREPARE_BUF32_TIME32'
1155 | case VIDIOC_PREPARE_BUF32_TIME32:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +13 include/asm-generic/ioctl.h
af4cd3fe4cfa75 Brian Gerst 2006-01-09 6
d55875f5d52c06 Hans Verkuil 2014-06-06 7 #ifdef __CHECKER__
d55875f5d52c06 Hans Verkuil 2014-06-06 8 #define _IOC_TYPECHECK(t) (sizeof(t))
d55875f5d52c06 Hans Verkuil 2014-06-06 9 #else
af4cd3fe4cfa75 Brian Gerst 2006-01-09 10 /* provoke compile error for invalid uses of
size argument */
af4cd3fe4cfa75 Brian Gerst 2006-01-09 11 extern unsigned int
__invalid_size_argument_for_IOC;
af4cd3fe4cfa75 Brian Gerst 2006-01-09 12 #define _IOC_TYPECHECK(t) \
af4cd3fe4cfa75 Brian Gerst 2006-01-09 @13 ((sizeof(t) == sizeof(t[1]) && \
af4cd3fe4cfa75 Brian Gerst 2006-01-09 14 sizeof(t) < (1 << _IOC_SIZEBITS))
? \
af4cd3fe4cfa75 Brian Gerst 2006-01-09 15 sizeof(t) :
__invalid_size_argument_for_IOC)
d55875f5d52c06 Hans Verkuil 2014-06-06 16 #endif
d55875f5d52c06 Hans Verkuil 2014-06-06 17
:::::: The code at line 13 was first introduced by commit
:::::: af4cd3fe4cfa75ca74f8d8622867371289043a8d [PATCH] Generic ioctl.h
:::::: TO: Brian Gerst <bgerst(a)didntduck.org>
:::::: CC: Linus Torvalds <torvalds(a)g5.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org