From: "Jan Beulich" Subject: [PATCH] 32on64 oversight in update_va_mapping Date: Wed, 14 Mar 2007 16:33:34 +0000 Message-ID: <45F831EE.76E4.0078.0@novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Signed-off-by: Jan Beulich Index: 2007-02-27/xen/arch/x86/mm.c =================================================================== --- 2007-02-27.orig/xen/arch/x86/mm.c 2007-03-13 15:20:23.000000000 +0100 +++ 2007-02-27/xen/arch/x86/mm.c 2007-03-14 17:25:38.000000000 +0100 @@ -2768,7 +2768,9 @@ int do_update_va_mapping(unsigned long v flush_tlb_one_mask(d->domain_dirty_cpumask, va); break; default: - if ( unlikely(get_user(vmask, (unsigned long *)bmap_ptr)) ) + if ( unlikely(!IS_COMPAT(d) ? + get_user(vmask, (unsigned long *)bmap_ptr) : + get_user(vmask, (unsigned int *)bmap_ptr)) ) rc = -EFAULT; pmask = vcpumask_to_pcpumask(d, vmask); flush_tlb_one_mask(pmask, va);