lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202207191649.MYYZt4sP-lkp@intel.com>
Date:   Tue, 19 Jul 2022 16:16:09 +0800
From:   kernel test robot <lkp@...el.com>
To:     Michael Roth <michael.roth@....com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Paolo Bonzini <pbonzini@...hat.com>
Subject: include/kvm_util_base.h:247:35: warning: 'struct kvm_nested_state'
 declared inside parameter list will not be visible outside of this
 definition or declaration

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   ca85855bdcae8f84f1512e88b4c75009ea17ea2f
commit: 7d9a662ed9f0403e7b94940dceb81552b8edb931 kvm: selftests: move base kvm_util.h declarations to kvm_util_base.h
date:   6 months ago
reproduce: make O=/tmp/kselftest -C tools/testing/selftests

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

   In file included from include/kvm_util.h:10,
                    from lib/elf.c:13:
>> include/kvm_util_base.h:247:35: warning: 'struct kvm_nested_state' declared inside parameter list will not be visible outside of this definition or declaration
     247 |                            struct kvm_nested_state *state);
         |                                   ^~~~~~~~~~~~~~~~
   include/kvm_util_base.h:249:34: warning: 'struct kvm_nested_state' declared inside parameter list will not be visible outside of this definition or declaration
     249 |                           struct kvm_nested_state *state, bool ignore_error);
         |                                  ^~~~~~~~~~~~~~~~
--
   In file included from include/kvm_util.h:10,
                    from lib/kvm_util.c:10:
>> include/kvm_util_base.h:247:35: warning: 'struct kvm_nested_state' declared inside parameter list will not be visible outside of this definition or declaration
     247 |                            struct kvm_nested_state *state);
         |                                   ^~~~~~~~~~~~~~~~
   include/kvm_util_base.h:249:34: warning: 'struct kvm_nested_state' declared inside parameter list will not be visible outside of this definition or declaration
     249 |                           struct kvm_nested_state *state, bool ignore_error);
         |                                  ^~~~~~~~~~~~~~~~
   lib/kvm_util.c: In function 'vm_enable_dirty_ring':
   lib/kvm_util.c:143:19: error: 'KVM_CAP_DIRTY_LOG_RING' undeclared (first use in this function); did you mean 'KVM_CAP_IRQ_ROUTING'?
     143 |         cap.cap = KVM_CAP_DIRTY_LOG_RING;
         |                   ^~~~~~~~~~~~~~~~~~~~~~
         |                   KVM_CAP_IRQ_ROUTING
   lib/kvm_util.c:143:19: note: each undeclared identifier is reported only once for each function it appears in
   lib/kvm_util.c: In function 'kvm_vm_clear_dirty_log':
   lib/kvm_util.c:468:16: error: variable 'args' has initializer but incomplete type
     468 |         struct kvm_clear_dirty_log args = { .dirty_bitmap = log, .slot = slot,
         |                ^~~~~~~~~~~~~~~~~~~
   lib/kvm_util.c:468:46: error: 'struct kvm_clear_dirty_log' has no member named 'dirty_bitmap'
     468 |         struct kvm_clear_dirty_log args = { .dirty_bitmap = log, .slot = slot,
         |                                              ^~~~~~~~~~~~
   lib/kvm_util.c:468:61: warning: excess elements in struct initializer
     468 |         struct kvm_clear_dirty_log args = { .dirty_bitmap = log, .slot = slot,
         |                                                             ^~~
   lib/kvm_util.c:468:61: note: (near initialization for 'args')
   lib/kvm_util.c:468:67: error: 'struct kvm_clear_dirty_log' has no member named 'slot'
     468 |         struct kvm_clear_dirty_log args = { .dirty_bitmap = log, .slot = slot,
         |                                                                   ^~~~
   lib/kvm_util.c:468:74: warning: excess elements in struct initializer
     468 |         struct kvm_clear_dirty_log args = { .dirty_bitmap = log, .slot = slot,
         |                                                                          ^~~~
   lib/kvm_util.c:468:74: note: (near initialization for 'args')
   lib/kvm_util.c:469:46: error: 'struct kvm_clear_dirty_log' has no member named 'first_page'
     469 |                                             .first_page = first_page,
         |                                              ^~~~~~~~~~
   lib/kvm_util.c:469:59: warning: excess elements in struct initializer
     469 |                                             .first_page = first_page,
         |                                                           ^~~~~~~~~~
   lib/kvm_util.c:469:59: note: (near initialization for 'args')
   lib/kvm_util.c:470:46: error: 'struct kvm_clear_dirty_log' has no member named 'num_pages'
     470 |                                             .num_pages = num_pages };
         |                                              ^~~~~~~~~
   lib/kvm_util.c:470:58: warning: excess elements in struct initializer
     470 |                                             .num_pages = num_pages };
         |                                                          ^~~~~~~~~
   lib/kvm_util.c:470:58: note: (near initialization for 'args')
   lib/kvm_util.c:468:36: error: storage size of 'args' isn't known
     468 |         struct kvm_clear_dirty_log args = { .dirty_bitmap = log, .slot = slot,
         |                                    ^~~~
   lib/kvm_util.c:473:29: error: 'KVM_CLEAR_DIRTY_LOG' undeclared (first use in this function); did you mean 'KVM_GET_DIRTY_LOG'?
     473 |         ret = ioctl(vm->fd, KVM_CLEAR_DIRTY_LOG, &args);
         |                             ^~~~~~~~~~~~~~~~~~~
         |                             KVM_GET_DIRTY_LOG
   lib/kvm_util.c:468:36: warning: unused variable 'args' [-Wunused-variable]
     468 |         struct kvm_clear_dirty_log args = { .dirty_bitmap = log, .slot = slot,
         |                                    ^~~~
   lib/kvm_util.c: In function 'kvm_vm_reset_dirty_ring':
   lib/kvm_util.c:480:30: error: 'KVM_RESET_DIRTY_RINGS' undeclared (first use in this function); did you mean 'KVM_GET_DIRTY_LOG'?
     480 |         return ioctl(vm->fd, KVM_RESET_DIRTY_RINGS);
         |                              ^~~~~~~~~~~~~~~~~~~~~
         |                              KVM_GET_DIRTY_LOG
   lib/kvm_util.c: At top level:
   lib/kvm_util.c:1748:35: warning: 'struct kvm_nested_state' declared inside parameter list will not be visible outside of this definition or declaration
    1748 |                            struct kvm_nested_state *state)
         |                                   ^~~~~~~~~~~~~~~~
   lib/kvm_util.c:1747:6: error: conflicting types for 'vcpu_nested_state_get'; have 'void(struct kvm_vm *, uint32_t,  struct kvm_nested_state *)' {aka 'void(struct kvm_vm *, unsigned int,  struct kvm_nested_state *)'}
    1747 | void vcpu_nested_state_get(struct kvm_vm *vm, uint32_t vcpuid,
         |      ^~~~~~~~~~~~~~~~~~~~~
   In file included from include/kvm_util.h:10,
                    from lib/kvm_util.c:10:
   include/kvm_util_base.h:246:6: note: previous declaration of 'vcpu_nested_state_get' with type 'void(struct kvm_vm *, uint32_t,  struct kvm_nested_state *)' {aka 'void(struct kvm_vm *, unsigned int,  struct kvm_nested_state *)'}
     246 | void vcpu_nested_state_get(struct kvm_vm *vm, uint32_t vcpuid,
         |      ^~~~~~~~~~~~~~~~~~~~~
   lib/kvm_util.c: In function 'vcpu_nested_state_get':
   lib/kvm_util.c:1755:31: error: 'KVM_GET_NESTED_STATE' undeclared (first use in this function); did you mean 'KVM_GET_MP_STATE'?
    1755 |         ret = ioctl(vcpu->fd, KVM_GET_NESTED_STATE, state);
         |                               ^~~~~~~~~~~~~~~~~~~~
         |                               KVM_GET_MP_STATE
   lib/kvm_util.c: At top level:
   lib/kvm_util.c:1762:34: warning: 'struct kvm_nested_state' declared inside parameter list will not be visible outside of this definition or declaration
    1762 |                           struct kvm_nested_state *state, bool ignore_error)
         |                                  ^~~~~~~~~~~~~~~~
   lib/kvm_util.c:1761:5: error: conflicting types for 'vcpu_nested_state_set'; have 'int(struct kvm_vm *, uint32_t,  struct kvm_nested_state *, _Bool)' {aka 'int(struct kvm_vm *, unsigned int,  struct kvm_nested_state *, _Bool)'}
    1761 | int vcpu_nested_state_set(struct kvm_vm *vm, uint32_t vcpuid,
         |     ^~~~~~~~~~~~~~~~~~~~~
   In file included from include/kvm_util.h:10,
                    from lib/kvm_util.c:10:
   include/kvm_util_base.h:248:5: note: previous declaration of 'vcpu_nested_state_set' with type 'int(struct kvm_vm *, uint32_t,  struct kvm_nested_state *, _Bool)' {aka 'int(struct kvm_vm *, unsigned int,  struct kvm_nested_state *, _Bool)'}
     248 | int vcpu_nested_state_set(struct kvm_vm *vm, uint32_t vcpuid,
         |     ^~~~~~~~~~~~~~~~~~~~~
   lib/kvm_util.c: In function 'vcpu_nested_state_set':
   lib/kvm_util.c:1769:31: error: 'KVM_SET_NESTED_STATE' undeclared (first use in this function); did you mean 'KVM_SET_MP_STATE'?
    1769 |         ret = ioctl(vcpu->fd, KVM_SET_NESTED_STATE, state);
         |                               ^~~~~~~~~~~~~~~~~~~~
         |                               KVM_SET_MP_STATE
   lib/kvm_util.c: In function 'vcpu_map_dirty_ring':
   lib/kvm_util.c:1926:45: error: 'KVM_DIRTY_LOG_PAGE_OFFSET' undeclared (first use in this function); did you mean 'KVM_PIO_PAGE_OFFSET'?
    1926 |                             vm->page_size * KVM_DIRTY_LOG_PAGE_OFFSET);
         |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~
         |                                             KVM_PIO_PAGE_OFFSET
   lib/kvm_util.c:1940:56: error: invalid application of 'sizeof' to incomplete type 'struct kvm_dirty_gfn'
    1940 |                 vcpu->dirty_gfns_count = size / sizeof(struct kvm_dirty_gfn);
         |                                                        ^~~~~~
--
   In file included from include/x86_64/../kvm_util.h:10,
                    from include/x86_64/processor.h:16,
                    from include/x86_64/apic.h:13,
                    from lib/x86_64/apic.c:8:
>> include/x86_64/../kvm_util_base.h:247:35: warning: 'struct kvm_nested_state' declared inside parameter list will not be visible outside of this definition or declaration
     247 |                            struct kvm_nested_state *state);
         |                                   ^~~~~~~~~~~~~~~~
   include/x86_64/../kvm_util_base.h:249:34: warning: 'struct kvm_nested_state' declared inside parameter list will not be visible outside of this definition or declaration
     249 |                           struct kvm_nested_state *state, bool ignore_error);
         |                                  ^~~~~~~~~~~~~~~~
--
   In file included from include/kvm_util.h:10,
                    from lib/x86_64/processor.c:9:
>> include/kvm_util_base.h:247:35: warning: 'struct kvm_nested_state' declared inside parameter list will not be visible outside of this definition or declaration
     247 |                            struct kvm_nested_state *state);
         |                                   ^~~~~~~~~~~~~~~~
   include/kvm_util_base.h:249:34: warning: 'struct kvm_nested_state' declared inside parameter list will not be visible outside of this definition or declaration
     249 |                           struct kvm_nested_state *state, bool ignore_error);
         |                                  ^~~~~~~~~~~~~~~~
   lib/x86_64/processor.c:1029:41: error: field 'nested' has incomplete type
    1029 |                 struct kvm_nested_state nested;
         |                                         ^~~~~~
   lib/x86_64/processor.c: In function 'vcpu_save_state':
   lib/x86_64/processor.c:1081:45: error: 'KVM_CAP_NESTED_STATE' undeclared (first use in this function); did you mean 'KVM_CAP_PIT_STATE2'?
    1081 |                 nested_size = kvm_check_cap(KVM_CAP_NESTED_STATE);
         |                                             ^~~~~~~~~~~~~~~~~~~~
         |                                             KVM_CAP_PIT_STATE2
   lib/x86_64/processor.c:1081:45: note: each undeclared identifier is reported only once for each function it appears in
   lib/x86_64/processor.c:1131:37: error: 'KVM_GET_NESTED_STATE' undeclared (first use in this function); did you mean 'KVM_GET_MP_STATE'?
    1131 |                 r = ioctl(vcpu->fd, KVM_GET_NESTED_STATE, &state->nested);
         |                                     ^~~~~~~~~~~~~~~~~~~~
         |                                     KVM_GET_MP_STATE
   lib/x86_64/processor.c: In function 'vcpu_load_state':
   lib/x86_64/processor.c:1195:37: error: 'KVM_SET_NESTED_STATE' undeclared (first use in this function); did you mean 'KVM_SET_MP_STATE'?
    1195 |                 r = ioctl(vcpu->fd, KVM_SET_NESTED_STATE, &state->nested);
         |                                     ^~~~~~~~~~~~~~~~~~~~
         |                                     KVM_SET_MP_STATE
   lib/x86_64/processor.c: In function 'kvm_get_supported_hv_cpuid':
   lib/x86_64/processor.c:1381:29: error: 'KVM_GET_SUPPORTED_HV_CPUID' undeclared (first use in this function); did you mean 'KVM_GET_SUPPORTED_CPUID'?
    1381 |         ret = ioctl(kvm_fd, KVM_GET_SUPPORTED_HV_CPUID, cpuid);
         |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
         |                             KVM_GET_SUPPORTED_CPUID
   lib/x86_64/processor.c: In function 'vcpu_get_supported_hv_cpuid':
   lib/x86_64/processor.c:1430:32: error: 'KVM_GET_SUPPORTED_HV_CPUID' undeclared (first use in this function); did you mean 'KVM_GET_SUPPORTED_CPUID'?
    1430 |         vcpu_ioctl(vm, vcpuid, KVM_GET_SUPPORTED_HV_CPUID, cpuid);
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                KVM_GET_SUPPORTED_CPUID
--
   In file included from include/kvm_util.h:10,
                    from lib/x86_64/vmx.c:9:
>> include/kvm_util_base.h:247:35: warning: 'struct kvm_nested_state' declared inside parameter list will not be visible outside of this definition or declaration
     247 |                            struct kvm_nested_state *state);
         |                                   ^~~~~~~~~~~~~~~~
   include/kvm_util_base.h:249:34: warning: 'struct kvm_nested_state' declared inside parameter list will not be visible outside of this definition or declaration
     249 |                           struct kvm_nested_state *state, bool ignore_error);
         |                                  ^~~~~~~~~~~~~~~~
   lib/x86_64/vmx.c: In function 'vcpu_enable_evmcs':
   lib/x86_64/vmx.c:51:24: error: 'KVM_CAP_HYPERV_ENLIGHTENED_VMCS' undeclared (first use in this function)
      51 |                 .cap = KVM_CAP_HYPERV_ENLIGHTENED_VMCS,
         |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   lib/x86_64/vmx.c:51:24: note: each undeclared identifier is reported only once for each function it appears in

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ