Skip to contentSkip to conversation

32on64 oversight in update_va_mapping

PATCH New Jan Beulich 1 participant 1 message Mar 14, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 32on64 oversight in update_va_mapping

xen/arch/x86/mm.c +3 -1
Index: 2007-02-27/xen/arch/x86/mm.c
===================================================================
@@ -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);