tree: https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.compat head: 54238bb0c85b41127b7258b143e75551baff9ef3 commit: be248ed54d651182f3161569f81a03dc4f188590 [1/5] compat_ioctl: trim the pointless includes config: sparc64-allnoconfig (attached as .config) compiler: sparc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout be248ed54d651182f3161569f81a03dc4f188590 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=sparc64 All errors (new ones prefixed by >>): In file included from arch/sparc/include/asm/fbio.h:5:0, from fs/compat_ioctl.c:76: >> arch/sparc/include/uapi/asm/fbio.h:100:25: error: field 'pos' has incomplete type struct fbcurpos pos; /* cursor position */ ^~~ >> arch/sparc/include/uapi/asm/fbio.h:101:25: error: field 'hot' has incomplete type struct fbcurpos hot; /* cursor hot spot */ ^~~ >> arch/sparc/include/uapi/asm/fbio.h:103:25: error: field 'size' has incomplete type struct fbcurpos size; /* cursor bit map size */ ^~~~ In file included from fs/compat_ioctl.c:76:0: >> arch/sparc/include/asm/fbio.h:63:18: error: field 'pos' has incomplete type struct fbcurpos pos; /* cursor position */ ^~~ >> arch/sparc/include/asm/fbio.h:64:18: error: field 'hot' has incomplete type struct fbcurpos hot; /* cursor hot spot */ ^~~ >> arch/sparc/include/asm/fbio.h:66:18: error: field 'size' has incomplete type struct fbcurpos size; /* cursor bit map size */ ^~~~ arch/sparc/include/uapi/asm/fbio.h:113:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) ^ fs/compat_ioctl.c:685:21: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:695:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1256:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOSCURPOS) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC' #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:113:25: note: in expansion of macro '_IOW' #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1256:14: note: in expansion of macro 'FBIOSCURPOS' IGNORE_IOCTL(FBIOSCURPOS) ^~~~~~~~~~~ arch/sparc/include/uapi/asm/fbio.h:113:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) ^ fs/compat_ioctl.c:685:28: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:695:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1256:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOSCURPOS) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC' #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:113:25: note: in expansion of macro '_IOW' #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1256:14: note: in expansion of macro 'FBIOSCURPOS' IGNORE_IOCTL(FBIOSCURPOS) ^~~~~~~~~~~ arch/sparc/include/uapi/asm/fbio.h:113:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) ^ fs/compat_ioctl.c:685:42: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:695:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1256:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOSCURPOS) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC' #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:113:25: note: in expansion of macro '_IOW' #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1256:14: note: in expansion of macro 'FBIOSCURPOS' IGNORE_IOCTL(FBIOSCURPOS) ^~~~~~~~~~~ arch/sparc/include/uapi/asm/fbio.h:114:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOGCURPOS _IOW('F', 27, struct fbcurpos) ^ fs/compat_ioctl.c:685:21: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:695:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1257:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOGCURPOS) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC' #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:114:25: note: in expansion of macro '_IOW' #define FBIOGCURPOS _IOW('F', 27, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1257:14: note: in expansion of macro 'FBIOGCURPOS' IGNORE_IOCTL(FBIOGCURPOS) ^~~~~~~~~~~ arch/sparc/include/uapi/asm/fbio.h:114:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOGCURPOS _IOW('F', 27, struct fbcurpos) ^ fs/compat_ioctl.c:685:28: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:695:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1257:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOGCURPOS) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC' #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) vim +/pos +100 arch/sparc/include/uapi/asm/fbio.h 54579826 David Howells 2012-10-09 96 54579826 David Howells 2012-10-09 97 struct fbcursor { 54579826 David Howells 2012-10-09 98 short set; /* what to set, choose from the list above */ 54579826 David Howells 2012-10-09 99 short enable; /* cursor on/off */ 54579826 David Howells 2012-10-09 @100 struct fbcurpos pos; /* cursor position */ 54579826 David Howells 2012-10-09 @101 struct fbcurpos hot; /* cursor hot spot */ 54579826 David Howells 2012-10-09 102 struct fbcmap cmap; /* color map info */ 54579826 David Howells 2012-10-09 @103 struct fbcurpos size; /* cursor bit map size */ 54579826 David Howells 2012-10-09 104 char __user *image; /* cursor image bits */ 54579826 David Howells 2012-10-09 105 char __user *mask; /* cursor mask bits */ 54579826 David Howells 2012-10-09 106 }; 54579826 David Howells 2012-10-09 107 :::::: The code at line 100 was first introduced by commit :::::: 5457982641fb3f5fb08ce22a853dd5474645c66d UAPI: (Scripted) Disintegrate arch/sparc/include/asm :::::: TO: David Howells :::::: CC: David Howells --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation