Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'for-linus-4.15-rc8-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull xen fixes from Juergen Gross:
"This contains two build fixes for clang and two fixes for rather
unlikely situations in the Xen gntdev driver"

* tag 'for-linus-4.15-rc8-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
xen/gntdev: Fix partial gntdev_mmap() cleanup
xen/gntdev: Fix off-by-one error when unmapping with holes
x86: xen: remove the use of VLAIS
x86/xen/time: fix section mismatch for xen_init_time_ops()

+8 -10
+3 -5
arch/x86/xen/mmu_pv.c
··· 1325 1325 { 1326 1326 struct { 1327 1327 struct mmuext_op op; 1328 - #ifdef CONFIG_SMP 1329 - DECLARE_BITMAP(mask, num_processors); 1330 - #else 1331 1328 DECLARE_BITMAP(mask, NR_CPUS); 1332 - #endif 1333 1329 } *args; 1334 1330 struct multicall_space mcs; 1331 + const size_t mc_entry_size = sizeof(args->op) + 1332 + sizeof(args->mask[0]) * BITS_TO_LONGS(num_possible_cpus()); 1335 1333 1336 1334 trace_xen_mmu_flush_tlb_others(cpus, info->mm, info->start, info->end); 1337 1335 1338 1336 if (cpumask_empty(cpus)) 1339 1337 return; /* nothing to do */ 1340 1338 1341 - mcs = xen_mc_entry(sizeof(*args)); 1339 + mcs = xen_mc_entry(mc_entry_size); 1342 1340 args = mcs.args; 1343 1341 args->op.arg2.vcpumask = to_cpumask(args->mask); 1344 1342
+1 -1
arch/x86/xen/xen-ops.h
··· 72 72 void xen_setup_cpu_clockevents(void); 73 73 void xen_save_time_memory_area(void); 74 74 void xen_restore_time_memory_area(void); 75 - void __init xen_init_time_ops(void); 75 + void __ref xen_init_time_ops(void); 76 76 void __init xen_hvm_init_time_ops(void); 77 77 78 78 irqreturn_t xen_debug_interrupt(int irq, void *dev_id);
+4 -4
drivers/xen/gntdev.c
··· 380 380 } 381 381 range = 0; 382 382 while (range < pages) { 383 - if (map->unmap_ops[offset+range].handle == -1) { 384 - range--; 383 + if (map->unmap_ops[offset+range].handle == -1) 385 384 break; 386 - } 387 385 range++; 388 386 } 389 387 err = __unmap_grant_pages(map, offset, range); ··· 1071 1073 out_unlock_put: 1072 1074 mutex_unlock(&priv->lock); 1073 1075 out_put_map: 1074 - if (use_ptemod) 1076 + if (use_ptemod) { 1075 1077 map->vma = NULL; 1078 + unmap_grant_pages(map, 0, map->count); 1079 + } 1076 1080 gntdev_put_map(priv, map); 1077 1081 return err; 1078 1082 }