From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?Fernando_Luis_V=E1zquez_Cao?= Subject: Re: [PATCH RFC v2 6/6] KVM: introduce a new API for getting dirty bitmaps Date: Wed, 21 Apr 2010 17:29:43 +0900 Message-ID: <4BCEB777.6040505@oss.ntt.co.jp> References: <20100420195349.dab60b1d.yoshikawa.takuya@oss.ntt.co.jp> <20100420200353.2d2a6dec.yoshikawa.takuya@oss.ntt.co.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: avi@redhat.com, mtosatti@redhat.com, kvm@vger.kernel.org, kvm-ia64@vger.kernel.org, kvm-ppc@vger.kernel.org To: Takuya Yoshikawa Return-path: Received: from serv2.oss.ntt.co.jp ([222.151.198.100]:37918 "EHLO serv2.oss.ntt.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752807Ab0DUI3t (ORCPT ); Wed, 21 Apr 2010 04:29:49 -0400 In-Reply-To: <20100420200353.2d2a6dec.yoshikawa.takuya@oss.ntt.co.jp> Sender: kvm-owner@vger.kernel.org List-ID: On 04/20/2010 08:03 PM, Takuya Yoshikawa wrote: > @@ -318,7 +318,7 @@ struct kvm_dirty_log { > __u32 padding1; > union { > void __user *dirty_bitmap; /* one bit per page */ > - __u64 padding2; > + __u64 addr; This can break on x86_32 and x86_64-compat. addr is a long not a __u64. > + case KVM_SWITCH_DIRTY_LOG: { > + struct kvm_dirty_log log; > + > + r = -EFAULT; > + if (copy_from_user(&log, argp, sizeof log)) > + goto out; > + r = kvm_vm_ioctl_switch_dirty_log(kvm, &log); > + if (r) > + goto out; > + r = -EFAULT; > + if (copy_to_user(argp, &log, sizeof log)) > + goto out; > + r = 0; > + break; > + } In x86_64-compat mode we are handling 32bit user-space addresses so we need the compat counterpart of KVM_SWITCH_DIRTY_LOG too.