Messages in this thread | | | Date | Thu, 2 Jul 2020 20:58:40 -0400 | From | Peter Xu <> | Subject | Re: arch/x86/kvm/../../../virt/kvm/kvm_main.c:4326:17: sparse: struct kvm_vcpu Documentation Kbuild Makefile crypto include sound usr <asn:3> kvm_get_running_vcpus( ... ) |
| |
On Thu, Jul 02, 2020 at 05:18:48PM +0800, kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > head: cd77006e01b3198c75fb7819b3d0ff89709539bb > commit: 7495e22bb165e7030bae4d9c6e84addb5ea17b29 KVM: Move running VCPU from ARM to common code > date: 5 months ago > config: x86_64-randconfig-s031-20200701 (attached as .config) > compiler: gcc-9 (Debian 9.3.0-14) 9.3.0 > reproduce: > # apt-get install sparse > # sparse version: v0.6.2-3-gfa153962-dirty > git checkout 7495e22bb165e7030bae4d9c6e84addb5ea17b29 > # save the attached .config to linux build tree > make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@intel.com> > > > sparse warnings: (new ones prefixed by >>) > > arch/x86/kvm/../../../virt/kvm/kvm_main.c:3023:57: sparse: sparse: cast removes address space '<asn:1>' of expression > arch/x86/kvm/../../../virt/kvm/kvm_main.c:3023:57: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct compat_sigset_t const [noderef] [usertype] <asn:1> *compat @@ got void * @@ > arch/x86/kvm/../../../virt/kvm/kvm_main.c:3023:57: sparse: expected struct compat_sigset_t const [noderef] [usertype] <asn:1> *compat > arch/x86/kvm/../../../virt/kvm/kvm_main.c:3023:57: sparse: got void * > arch/x86/kvm/../../../virt/kvm/kvm_main.c:4326:17: sparse: sparse: symbol 'kvm_get_running_vcpus' redeclared with different type (different address spaces): > >> arch/x86/kvm/../../../virt/kvm/kvm_main.c:4326:17: sparse: struct kvm_vcpu *[noderef] <asn:3> *extern [addressable] [toplevel] kvm_get_running_vcpus( ... ) > include/linux/kvm_host.h:1339:26: sparse: note: previously declared as: > include/linux/kvm_host.h:1339:26: sparse: struct kvm_vcpu [noderef] <asn:3> **extern [addressable] [toplevel] kvm_get_running_vcpus( ... ) > > vim +4326 arch/x86/kvm/../../../virt/kvm/kvm_main.c > > 4322 > 4323 /** > 4324 * kvm_get_running_vcpus - get the per-CPU array of currently running vcpus. > 4325 */ > > 4326 struct kvm_vcpu * __percpu *kvm_get_running_vcpus(void) > 4327 { > 4328 return &kvm_running_vcpu; > 4329 } > 4330
Not the first time got confused with this report - this seems to have been fixed by fcd07f9adc7d ("KVM: let declaration of kvm_get_running_vcpus match implementation", 2020-02-28) already...
-- Peter Xu
| |