tree: https://git.kernel.org/pub/scm/virt/kvm/kvm.git planes-20250401 head: 73685d9c23b7122b44f07d59244416f8b56ed48e commit: 3455b6bc4ac390780723801ed54b80fed8311764 [46/62] KVM: implement vCPU creation for extra planes config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20250403/202504030136.Uapa2ld0-lkp@xxxxxxxxx/config) compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250403/202504030136.Uapa2ld0-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202504030136.Uapa2ld0-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): arch/s390/kvm/../../../virt/kvm/kvm_main.c:4471:15: warning: unused variable 'argp' [-Wunused-variable] 4471 | void __user *argp = (void __user *)arg; | ^~~~ >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:4530:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_debugregs' 4530 | case KVM_GET_DEBUGREGS: | ^~~~~~~~~~~~~~~~~ include/uapi/linux/kvm.h:1427:35: note: expanded from macro 'KVM_GET_DEBUGREGS' 1427 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:86:60: note: expanded from macro '_IOR' 86 | #define _IOR(type,nr,argtype) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:13:4: note: expanded from macro '_IOC_TYPECHECK' 13 | ((sizeof(t) == sizeof(t[1]) && \ | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4530:7: note: forward declaration of 'struct kvm_debugregs' include/uapi/linux/kvm.h:1427:61: note: expanded from macro 'KVM_GET_DEBUGREGS' 1427 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) | ^ >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:4530:7: error: array has incomplete element type 'struct kvm_debugregs' 4530 | case KVM_GET_DEBUGREGS: | ^ include/uapi/linux/kvm.h:1427:35: note: expanded from macro 'KVM_GET_DEBUGREGS' 1427 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) | ^ include/uapi/asm-generic/ioctl.h:86:60: note: expanded from macro '_IOR' 86 | #define _IOR(type,nr,argtype) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(argtype))) | ^ include/asm-generic/ioctl.h:13:25: note: expanded from macro '_IOC_TYPECHECK' 13 | ((sizeof(t) == sizeof(t[1]) && \ | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4530:7: note: forward declaration of 'struct kvm_debugregs' include/uapi/linux/kvm.h:1427:61: note: expanded from macro 'KVM_GET_DEBUGREGS' 1427 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) | ^ >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:4530:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_debugregs' 4530 | case KVM_GET_DEBUGREGS: | ^~~~~~~~~~~~~~~~~ include/uapi/linux/kvm.h:1427:35: note: expanded from macro 'KVM_GET_DEBUGREGS' 1427 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:86:60: note: expanded from macro '_IOR' 86 | #define _IOR(type,nr,argtype) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:14:4: note: expanded from macro '_IOC_TYPECHECK' 14 | sizeof(t) < (1 << _IOC_SIZEBITS)) ? \ | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4530:7: note: forward declaration of 'struct kvm_debugregs' include/uapi/linux/kvm.h:1427:61: note: expanded from macro 'KVM_GET_DEBUGREGS' 1427 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) | ^ >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:4530:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_debugregs' 4530 | case KVM_GET_DEBUGREGS: | ^~~~~~~~~~~~~~~~~ include/uapi/linux/kvm.h:1427:35: note: expanded from macro 'KVM_GET_DEBUGREGS' 1427 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:86:60: note: expanded from macro '_IOR' 86 | #define _IOR(type,nr,argtype) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:15:4: note: expanded from macro '_IOC_TYPECHECK' 15 | sizeof(t) : __invalid_size_argument_for_IOC) | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4530:7: note: forward declaration of 'struct kvm_debugregs' include/uapi/linux/kvm.h:1427:61: note: expanded from macro 'KVM_GET_DEBUGREGS' 1427 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4531:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_debugregs' 4531 | case KVM_SET_DEBUGREGS: | ^~~~~~~~~~~~~~~~~ include/uapi/linux/kvm.h:1428:35: note: expanded from macro 'KVM_SET_DEBUGREGS' 1428 | #define KVM_SET_DEBUGREGS _IOW(KVMIO, 0xa2, struct kvm_debugregs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:87:61: note: expanded from macro '_IOW' 87 | #define _IOW(type,nr,argtype) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:13:4: note: expanded from macro '_IOC_TYPECHECK' 13 | ((sizeof(t) == sizeof(t[1]) && \ | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4530:7: note: forward declaration of 'struct kvm_debugregs' 4530 | case KVM_GET_DEBUGREGS: | ^ include/uapi/linux/kvm.h:1427:61: note: expanded from macro 'KVM_GET_DEBUGREGS' 1427 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4531:7: error: array has incomplete element type 'struct kvm_debugregs' 4531 | case KVM_SET_DEBUGREGS: | ^ include/uapi/linux/kvm.h:1428:35: note: expanded from macro 'KVM_SET_DEBUGREGS' 1428 | #define KVM_SET_DEBUGREGS _IOW(KVMIO, 0xa2, struct kvm_debugregs) | ^ include/uapi/asm-generic/ioctl.h:87:61: note: expanded from macro '_IOW' 87 | #define _IOW(type,nr,argtype) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(argtype))) | ^ include/asm-generic/ioctl.h:13:25: note: expanded from macro '_IOC_TYPECHECK' 13 | ((sizeof(t) == sizeof(t[1]) && \ | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4530:7: note: forward declaration of 'struct kvm_debugregs' 4530 | case KVM_GET_DEBUGREGS: | ^ include/uapi/linux/kvm.h:1427:61: note: expanded from macro 'KVM_GET_DEBUGREGS' 1427 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4531:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_debugregs' 4531 | case KVM_SET_DEBUGREGS: | ^~~~~~~~~~~~~~~~~ include/uapi/linux/kvm.h:1428:35: note: expanded from macro 'KVM_SET_DEBUGREGS' 1428 | #define KVM_SET_DEBUGREGS _IOW(KVMIO, 0xa2, struct kvm_debugregs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:87:61: note: expanded from macro '_IOW' 87 | #define _IOW(type,nr,argtype) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:14:4: note: expanded from macro '_IOC_TYPECHECK' 14 | sizeof(t) < (1 << _IOC_SIZEBITS)) ? \ | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4530:7: note: forward declaration of 'struct kvm_debugregs' 4530 | case KVM_GET_DEBUGREGS: | ^ include/uapi/linux/kvm.h:1427:61: note: expanded from macro 'KVM_GET_DEBUGREGS' 1427 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4531:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_debugregs' 4531 | case KVM_SET_DEBUGREGS: | ^~~~~~~~~~~~~~~~~ include/uapi/linux/kvm.h:1428:35: note: expanded from macro 'KVM_SET_DEBUGREGS' 1428 | #define KVM_SET_DEBUGREGS _IOW(KVMIO, 0xa2, struct kvm_debugregs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:87:61: note: expanded from macro '_IOW' 87 | #define _IOW(type,nr,argtype) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:15:4: note: expanded from macro '_IOC_TYPECHECK' 15 | sizeof(t) : __invalid_size_argument_for_IOC) | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4530:7: note: forward declaration of 'struct kvm_debugregs' 4530 | case KVM_GET_DEBUGREGS: | ^ include/uapi/linux/kvm.h:1427:61: note: expanded from macro 'KVM_GET_DEBUGREGS' 1427 | #define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs) | ^ >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:4534:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_lapic_state' 4534 | case KVM_GET_LAPIC: | ^~~~~~~~~~~~~ include/uapi/linux/kvm.h:1395:35: note: expanded from macro 'KVM_GET_LAPIC' 1395 | #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:86:60: note: expanded from macro '_IOR' 86 | #define _IOR(type,nr,argtype) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:13:4: note: expanded from macro '_IOC_TYPECHECK' 13 | ((sizeof(t) == sizeof(t[1]) && \ | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4534:7: note: forward declaration of 'struct kvm_lapic_state' include/uapi/linux/kvm.h:1395:61: note: expanded from macro 'KVM_GET_LAPIC' 1395 | #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) | ^ >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:4534:7: error: array has incomplete element type 'struct kvm_lapic_state' 4534 | case KVM_GET_LAPIC: | ^ include/uapi/linux/kvm.h:1395:35: note: expanded from macro 'KVM_GET_LAPIC' 1395 | #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) | ^ include/uapi/asm-generic/ioctl.h:86:60: note: expanded from macro '_IOR' 86 | #define _IOR(type,nr,argtype) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(argtype))) | ^ include/asm-generic/ioctl.h:13:25: note: expanded from macro '_IOC_TYPECHECK' 13 | ((sizeof(t) == sizeof(t[1]) && \ | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4534:7: note: forward declaration of 'struct kvm_lapic_state' include/uapi/linux/kvm.h:1395:61: note: expanded from macro 'KVM_GET_LAPIC' 1395 | #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) | ^ >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:4534:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_lapic_state' 4534 | case KVM_GET_LAPIC: | ^~~~~~~~~~~~~ include/uapi/linux/kvm.h:1395:35: note: expanded from macro 'KVM_GET_LAPIC' 1395 | #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:86:60: note: expanded from macro '_IOR' 86 | #define _IOR(type,nr,argtype) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:14:4: note: expanded from macro '_IOC_TYPECHECK' 14 | sizeof(t) < (1 << _IOC_SIZEBITS)) ? \ | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4534:7: note: forward declaration of 'struct kvm_lapic_state' include/uapi/linux/kvm.h:1395:61: note: expanded from macro 'KVM_GET_LAPIC' 1395 | #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) | ^ >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:4534:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_lapic_state' 4534 | case KVM_GET_LAPIC: | ^~~~~~~~~~~~~ include/uapi/linux/kvm.h:1395:35: note: expanded from macro 'KVM_GET_LAPIC' 1395 | #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:86:60: note: expanded from macro '_IOR' 86 | #define _IOR(type,nr,argtype) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:15:4: note: expanded from macro '_IOC_TYPECHECK' 15 | sizeof(t) : __invalid_size_argument_for_IOC) | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4534:7: note: forward declaration of 'struct kvm_lapic_state' include/uapi/linux/kvm.h:1395:61: note: expanded from macro 'KVM_GET_LAPIC' 1395 | #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4535:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_lapic_state' 4535 | case KVM_SET_LAPIC: | ^~~~~~~~~~~~~ include/uapi/linux/kvm.h:1396:35: note: expanded from macro 'KVM_SET_LAPIC' 1396 | #define KVM_SET_LAPIC _IOW(KVMIO, 0x8f, struct kvm_lapic_state) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:87:61: note: expanded from macro '_IOW' 87 | #define _IOW(type,nr,argtype) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:13:4: note: expanded from macro '_IOC_TYPECHECK' 13 | ((sizeof(t) == sizeof(t[1]) && \ | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4534:7: note: forward declaration of 'struct kvm_lapic_state' 4534 | case KVM_GET_LAPIC: | ^ include/uapi/linux/kvm.h:1395:61: note: expanded from macro 'KVM_GET_LAPIC' 1395 | #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4535:7: error: array has incomplete element type 'struct kvm_lapic_state' 4535 | case KVM_SET_LAPIC: | ^ include/uapi/linux/kvm.h:1396:35: note: expanded from macro 'KVM_SET_LAPIC' 1396 | #define KVM_SET_LAPIC _IOW(KVMIO, 0x8f, struct kvm_lapic_state) | ^ include/uapi/asm-generic/ioctl.h:87:61: note: expanded from macro '_IOW' 87 | #define _IOW(type,nr,argtype) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(argtype))) | ^ include/asm-generic/ioctl.h:13:25: note: expanded from macro '_IOC_TYPECHECK' 13 | ((sizeof(t) == sizeof(t[1]) && \ | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4534:7: note: forward declaration of 'struct kvm_lapic_state' 4534 | case KVM_GET_LAPIC: | ^ include/uapi/linux/kvm.h:1395:61: note: expanded from macro 'KVM_GET_LAPIC' 1395 | #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4535:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_lapic_state' 4535 | case KVM_SET_LAPIC: | ^~~~~~~~~~~~~ include/uapi/linux/kvm.h:1396:35: note: expanded from macro 'KVM_SET_LAPIC' 1396 | #define KVM_SET_LAPIC _IOW(KVMIO, 0x8f, struct kvm_lapic_state) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:87:61: note: expanded from macro '_IOW' 87 | #define _IOW(type,nr,argtype) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:14:4: note: expanded from macro '_IOC_TYPECHECK' 14 | sizeof(t) < (1 << _IOC_SIZEBITS)) ? \ | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4534:7: note: forward declaration of 'struct kvm_lapic_state' 4534 | case KVM_GET_LAPIC: | ^ include/uapi/linux/kvm.h:1395:61: note: expanded from macro 'KVM_GET_LAPIC' 1395 | #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4535:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_lapic_state' 4535 | case KVM_SET_LAPIC: | ^~~~~~~~~~~~~ include/uapi/linux/kvm.h:1396:35: note: expanded from macro 'KVM_SET_LAPIC' 1396 | #define KVM_SET_LAPIC _IOW(KVMIO, 0x8f, struct kvm_lapic_state) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:87:61: note: expanded from macro '_IOW' 87 | #define _IOW(type,nr,argtype) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:15:4: note: expanded from macro '_IOC_TYPECHECK' 15 | sizeof(t) : __invalid_size_argument_for_IOC) | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4534:7: note: forward declaration of 'struct kvm_lapic_state' 4534 | case KVM_GET_LAPIC: | ^ include/uapi/linux/kvm.h:1395:61: note: expanded from macro 'KVM_GET_LAPIC' 1395 | #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) | ^ >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:4536:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_msrs' 4536 | case KVM_GET_MSRS: | ^~~~~~~~~~~~ include/uapi/linux/kvm.h:1389:35: note: expanded from macro 'KVM_GET_MSRS' 1389 | #define KVM_GET_MSRS _IOWR(KVMIO, 0x88, struct kvm_msrs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:88:72: note: expanded from macro '_IOWR' 88 | #define _IOWR(type,nr,argtype) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:13:4: note: expanded from macro '_IOC_TYPECHECK' 13 | ((sizeof(t) == sizeof(t[1]) && \ | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4536:7: note: forward declaration of 'struct kvm_msrs' include/uapi/linux/kvm.h:1389:61: note: expanded from macro 'KVM_GET_MSRS' 1389 | #define KVM_GET_MSRS _IOWR(KVMIO, 0x88, struct kvm_msrs) | ^ >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:4536:7: error: array has incomplete element type 'struct kvm_msrs' 4536 | case KVM_GET_MSRS: | ^ include/uapi/linux/kvm.h:1389:35: note: expanded from macro 'KVM_GET_MSRS' 1389 | #define KVM_GET_MSRS _IOWR(KVMIO, 0x88, struct kvm_msrs) | ^ include/uapi/asm-generic/ioctl.h:88:72: note: expanded from macro '_IOWR' 88 | #define _IOWR(type,nr,argtype) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(argtype))) | ^ include/asm-generic/ioctl.h:13:25: note: expanded from macro '_IOC_TYPECHECK' 13 | ((sizeof(t) == sizeof(t[1]) && \ | ^ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4536:7: note: forward declaration of 'struct kvm_msrs' include/uapi/linux/kvm.h:1389:61: note: expanded from macro 'KVM_GET_MSRS' 1389 | #define KVM_GET_MSRS _IOWR(KVMIO, 0x88, struct kvm_msrs) | ^ >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:4536:7: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_msrs' 4536 | case KVM_GET_MSRS: | ^~~~~~~~~~~~ include/uapi/linux/kvm.h:1389:35: note: expanded from macro 'KVM_GET_MSRS' 1389 | #define KVM_GET_MSRS _IOWR(KVMIO, 0x88, struct kvm_msrs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/uapi/asm-generic/ioctl.h:88:72: note: expanded from macro '_IOWR' 88 | #define _IOWR(type,nr,argtype) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(argtype))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/ioctl.h:14:4: note: expanded from macro '_IOC_TYPECHECK' 14 | sizeof(t) < (1 << _IOC_SIZEBITS)) ? \ | ^ include/uapi/asm-generic/ioctl.h:73:5: note: expanded from macro '_IOC' 73 | ((size) << _IOC_SIZESHIFT)) | ^~~~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:4536:7: note: forward declaration of 'struct kvm_msrs' include/uapi/linux/kvm.h:1389:61: note: expanded from macro 'KVM_GET_MSRS' 1389 | #define KVM_GET_MSRS _IOWR(KVMIO, 0x88, struct kvm_msrs) | ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 1 warning and 20 errors generated. vim +4530 arch/s390/kvm/../../../virt/kvm/kvm_main.c 4467 4468 static long __kvm_plane_ioctl(struct kvm_plane *plane, unsigned int ioctl, 4469 unsigned long arg) 4470 { > 4471 void __user *argp = (void __user *)arg; 4472 4473 switch (ioctl) { 4474 #ifdef CONFIG_HAVE_KVM_MSI 4475 case KVM_SIGNAL_MSI: { 4476 struct kvm_msi msi; 4477 4478 if (copy_from_user(&msi, argp, sizeof(msi))) 4479 return -EFAULT; 4480 return kvm_send_userspace_msi(plane, &msi); 4481 } 4482 #endif 4483 #ifdef CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES 4484 case KVM_SET_MEMORY_ATTRIBUTES: { 4485 struct kvm_memory_attributes attrs; 4486 4487 if (copy_from_user(&attrs, argp, sizeof(attrs))) 4488 return -EFAULT; 4489 return kvm_vm_ioctl_set_mem_attributes(plane, &attrs); 4490 } 4491 #endif 4492 case KVM_CHECK_EXTENSION: 4493 return kvm_plane_ioctl_check_extension(plane, arg); 4494 case KVM_CREATE_VCPU_PLANE: 4495 return kvm_plane_ioctl_create_vcpu(plane, arg); 4496 default: 4497 return -ENOTTY; 4498 } 4499 } 4500 4501 static long kvm_plane_ioctl(struct file *filp, unsigned int ioctl, 4502 unsigned long arg) 4503 { 4504 struct kvm_plane *plane = filp->private_data; 4505 4506 if (plane->kvm->mm != current->mm || plane->kvm->vm_dead) 4507 return -EIO; 4508 4509 return __kvm_plane_ioctl(plane, ioctl, arg); 4510 } 4511 4512 static int kvm_plane_release(struct inode *inode, struct file *filp) 4513 { 4514 struct kvm_plane *plane = filp->private_data; 4515 4516 kvm_put_kvm(plane->kvm); 4517 return 0; 4518 } 4519 4520 static struct file_operations kvm_plane_fops = { 4521 .unlocked_ioctl = kvm_plane_ioctl, 4522 .release = kvm_plane_release, 4523 KVM_COMPAT(kvm_plane_ioctl), 4524 }; 4525 4526 4527 static inline bool kvm_arch_is_vcpu_plane_ioctl(unsigned ioctl) 4528 { 4529 switch (ioctl) { > 4530 case KVM_GET_DEBUGREGS: 4531 case KVM_SET_DEBUGREGS: 4532 case KVM_GET_FPU: 4533 case KVM_SET_FPU: > 4534 case KVM_GET_LAPIC: 4535 case KVM_SET_LAPIC: > 4536 case KVM_GET_MSRS: 4537 case KVM_SET_MSRS: 4538 case KVM_GET_NESTED_STATE: 4539 case KVM_SET_NESTED_STATE: 4540 case KVM_GET_ONE_REG: 4541 case KVM_SET_ONE_REG: 4542 case KVM_GET_REGS: 4543 case KVM_SET_REGS: 4544 case KVM_GET_SREGS: 4545 case KVM_SET_SREGS: 4546 case KVM_GET_SREGS2: 4547 case KVM_SET_SREGS2: 4548 case KVM_GET_VCPU_EVENTS: 4549 case KVM_SET_VCPU_EVENTS: 4550 case KVM_GET_XCRS: 4551 case KVM_SET_XCRS: 4552 case KVM_GET_XSAVE: 4553 case KVM_GET_XSAVE2: 4554 case KVM_SET_XSAVE: 4555 4556 case KVM_GET_REG_LIST: 4557 case KVM_TRANSLATE: 4558 return true; 4559 4560 default: 4561 return false; 4562 } 4563 } 4564 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki