2022-01-21 19:17:16

by Jinrong Liang

[permalink] [raw]
Subject: [PATCH] selftests: kvm/x86: Fix the warning in lib/x86_64/processor.c

From: Jinrong Liang <[email protected]>

The following warning appears when executing
make -C tools/testing/selftests/kvm

In file included from lib/x86_64/processor.c:11:
lib/x86_64/processor.c: In function ':
include/x86_64/processor.h:290:2: warning: 'ecx' may be used uninitialized in this
function [-Wmaybe-uninitialized]
asm volatile("cpuid"
^~~
lib/x86_64/processor.c:1523:21: note: 'ecx' was declared here
uint32_t eax, ebx, ecx, edx, max_ext_leaf;

Just initialize ecx to remove this warning.

Fixes: c8cc43c1eae2 ("selftests: KVM: avoid failures due to reserved
HyperTransport region")

Signed-off-by: Jinrong Liang <[email protected]>
---
tools/testing/selftests/kvm/lib/x86_64/processor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/kvm/lib/x86_64/processor.c b/tools/testing/selftests/kvm/lib/x86_64/processor.c
index 59dcfe1967cc..4a4c7945cf3e 100644
--- a/tools/testing/selftests/kvm/lib/x86_64/processor.c
+++ b/tools/testing/selftests/kvm/lib/x86_64/processor.c
@@ -1520,7 +1520,7 @@ unsigned long vm_compute_max_gfn(struct kvm_vm *vm)
{
const unsigned long num_ht_pages = 12 << (30 - vm->page_shift); /* 12 GiB */
unsigned long ht_gfn, max_gfn, max_pfn;
- uint32_t eax, ebx, ecx, edx, max_ext_leaf;
+ uint32_t eax, ebx, ecx = 0, edx, max_ext_leaf;

max_gfn = (1ULL << (vm->pa_bits - vm->page_shift)) - 1;

--
2.27.0


2022-01-21 19:57:32

by Paolo Bonzini

[permalink] [raw]
Subject: Re: [PATCH] selftests: kvm/x86: Fix the warning in lib/x86_64/processor.c

On 1/19/22 15:03, Jinrong Liang wrote:
> From: Jinrong Liang <[email protected]>
>
> The following warning appears when executing
> make -C tools/testing/selftests/kvm
>
> In file included from lib/x86_64/processor.c:11:
> lib/x86_64/processor.c: In function ':
> include/x86_64/processor.h:290:2: warning: 'ecx' may be used uninitialized in this
> function [-Wmaybe-uninitialized]
> asm volatile("cpuid"
> ^~~
> lib/x86_64/processor.c:1523:21: note: 'ecx' was declared here
> uint32_t eax, ebx, ecx, edx, max_ext_leaf;
>
> Just initialize ecx to remove this warning.
>
> Fixes: c8cc43c1eae2 ("selftests: KVM: avoid failures due to reserved
> HyperTransport region")
>
> Signed-off-by: Jinrong Liang <[email protected]>
> ---
> tools/testing/selftests/kvm/lib/x86_64/processor.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/kvm/lib/x86_64/processor.c b/tools/testing/selftests/kvm/lib/x86_64/processor.c
> index 59dcfe1967cc..4a4c7945cf3e 100644
> --- a/tools/testing/selftests/kvm/lib/x86_64/processor.c
> +++ b/tools/testing/selftests/kvm/lib/x86_64/processor.c
> @@ -1520,7 +1520,7 @@ unsigned long vm_compute_max_gfn(struct kvm_vm *vm)
> {
> const unsigned long num_ht_pages = 12 << (30 - vm->page_shift); /* 12 GiB */
> unsigned long ht_gfn, max_gfn, max_pfn;
> - uint32_t eax, ebx, ecx, edx, max_ext_leaf;
> + uint32_t eax, ebx, ecx = 0, edx, max_ext_leaf;
>
> max_gfn = (1ULL << (vm->pa_bits - vm->page_shift)) - 1;
>

A separate assignment of "ecx = 0" is slightly more conforming to the
coding standards. Queued nevertheless, thanks.

Paolo