[PATCH] fix 32-bit compile warning from printk()

From: Dave Hansen
Date: Mon Jan 28 2013 - 14:20:41 EST



My patch "Fix kvm's use of __pa() on percpu areas" introduced a
compile warning:

arch/x86/kernel/kvm.c: In function 'kvm_register_steal_time':
arch/x86/kernel/kvm.c:302:3: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'phys_addr_t' [-Wformat]

According to: Documentation/printk-formats.txt

If <type> is dependent on a config option for its size
(e.g., phys_addr_t) ... use a format specifier of its
largest possible type and explicitly cast to it.

So, we'll do just that. We will consider it an unsigned long
long, and cast to it explicitly.

Signed-off-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx>
---

linux-2.6.git-dave/arch/x86/kernel/kvm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff -puN arch/x86/kernel/kvm.c~fix-32-bit-compile-warning arch/x86/kernel/kvm.c
--- linux-2.6.git/arch/x86/kernel/kvm.c~fix-32-bit-compile-warning 2013-01-28 11:16:39.786938232 -0800
+++ linux-2.6.git-dave/arch/x86/kernel/kvm.c 2013-01-28 11:16:39.790938273 -0800
@@ -298,8 +298,8 @@ static void kvm_register_steal_time(void
memset(st, 0, sizeof(*st));

wrmsrl(MSR_KVM_STEAL_TIME, (slow_virt_to_phys(st) | KVM_MSR_ENABLED));
- printk(KERN_INFO "kvm-stealtime: cpu %d, msr %lx\n",
- cpu, slow_virt_to_phys(st));
+ printk(KERN_INFO "kvm-stealtime: cpu %d, msr %llx\n",
+ cpu, (unsigned long long)slow_virt_to_phys(st));
}

static DEFINE_PER_CPU(unsigned long, kvm_apic_eoi) = KVM_PV_EOI_DISABLED;
_

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/