lkml.org 
[lkml]   [2011]   [May]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: linux-next: build failure after merge of the final tree (kvm tree related)
On Wed, May 25, 2011 at 01:28:09PM +1000, Stephen Rothwell wrote:
> Hi all,
>
> After merging the final tree, today's linux-next build (powerpc
> ppc44x_defconfig) failed like this:
>
> cc1: warnings being treated as errors
> arch/powerpc/kvm/../../../virt/kvm/kvm_main.c: In function '__kvm_set_memory_region':
> arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:654: error: cast to pointer from integer of different size
> arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:654: error: cast to pointer from integer of different size
>
> Caused by commit 95de6ce677d6 ("KVM: add missing void __user * cast to
> access_ok() call").
>
> I have reverted that commit for today.

My fault.. sigh.

Avi could you apply the patch below as well (or merge with the previous one)?

Thanks!

Subject: [PATCH] KVM: fix userspace_addr cast in access_ok() call

From: Heiko Carstens <heiko.carstens@de.ibm.com>

mem->userspace_addr is u64. Casting that to a pointer will cause build
breakage (or warnings) on 32 bit architectures. So add an explicit
unsigned long cast as well...

Fixes this:

cc1: warnings being treated as errors
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c: In function '__kvm_set_memory_region':
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:654: error: cast to pointer from integer of different size

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
virt/kvm/kvm_main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -651,7 +651,8 @@ int __kvm_set_memory_region(struct kvm *
/* We can read the guest memory with __xxx_user() later on. */
if (user_alloc &&
((mem->userspace_addr & (PAGE_SIZE - 1)) ||
- !access_ok(VERIFY_WRITE, (void __user *)mem->userspace_addr,
+ !access_ok(VERIFY_WRITE,
+ (void __user *)(unsigned long)mem->userspace_addr,
mem->memory_size)))
goto out;
if (mem->slot >= KVM_MEMORY_SLOTS + KVM_PRIVATE_MEM_SLOTS)

\
 
 \ /
  Last update: 2011-05-25 10:05    [W:0.036 / U:1.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site