2020-07-02 09:20:43

by kernel test robot

[permalink] [raw]
Subject: 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( ... )

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 <[email protected]>


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

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]


Attachments:
(No filename) (2.31 kB)
.config.gz (26.02 kB)
Download all attachments

2020-07-03 00:59:54

by Peter Xu

[permalink] [raw]
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 <[email protected]>
>
>
> 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

2020-07-08 08:17:21

by Xia, Hui

[permalink] [raw]
Subject: RE: [kbuild-all] 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( ... )



>-----Original Message-----
>From: Peter Xu <[email protected]>
>Sent: 2020年7月3日 8:59
>To: lkp <[email protected]>
>Cc: Paolo Bonzini <[email protected]>; [email protected]; linux-
>[email protected]
>Subject: [kbuild-all] 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 <[email protected]>
>>
>>
>> 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...
Hi Peter,
Sorry for inconvenient. Please ignore this report.
The wrong report is caused by incorrectly trigger bisection from old base commit if some branch still based on the old version kernel. We will fix it soon. Thanks for reporting this.

--Hui
>
>--
>Peter Xu
>_______________________________________________
>kbuild-all mailing list -- [email protected] To unsubscribe send an email to
>[email protected]