arch/x86/kvm/cpuid.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The default type of a decimal constant is determined by the magnitude of
its value. If the value falls within the range of int, its type is int;
otherwise, if it falls within the range of unsigned int, its type is
unsigned int. This results in the constant 48 being of type int. In the
following min call,
g_phys_as = min(g_phys_as, 48);
This leads to a building warning/error (CONFIG_KVM_WERROR=y) caused by
the mismatch between the types of the two arguments to macro min. By
adding the suffix U to explicitly declare the type of the constant, this
issue is fixed.
Signed-off-by: Ethan Zhao <haifeng.zhao@linux.intel.com>
---
v2: fix typo in subject.
---
arch/x86/kvm/cpuid.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 2cbb3874ad39..aa2c319118bc 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -1704,7 +1704,7 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function)
phys_as = entry->eax & 0xff;
g_phys_as = phys_as;
if (kvm_mmu_get_max_tdp_level() < 5)
- g_phys_as = min(g_phys_as, 48);
+ g_phys_as = min(g_phys_as, 48U);
}
entry->eax = phys_as | (virt_as << 8) | (g_phys_as << 16);
--
2.31.1
On Mon, 27 Jan 2025 09:38:37 +0800, Ethan Zhao wrote:
> The default type of a decimal constant is determined by the magnitude of
> its value. If the value falls within the range of int, its type is int;
> otherwise, if it falls within the range of unsigned int, its type is
> unsigned int. This results in the constant 48 being of type int. In the
> following min call,
>
> g_phys_as = min(g_phys_as, 48);
>
> [...]
Applied to kvm-x86 misc, thanks!
[1/1] KVM: x86/cpuid: add type suffix to decimal const 48 fix building warning
https://github.com/kvm-x86/linux/commit/a11128ce1636
--
https://github.com/kvm-x86/linux/tree/next
© 2016 - 2026 Red Hat, Inc.