From: Igor Druzhinin Date: Thu, 9 Apr 2020 08:13:45 +0000 (+0200) Subject: x86/shim: fix ballooning up the guest X-Git-Tag: archive/raspbian/4.11.4-1+rpi1^2~58^2~12 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=480d9b47840a354c56eacece5c1ea206c577ee15;p=xen.git x86/shim: fix ballooning up the guest args.preempted is meaningless here as it doesn't signal whether the hypercall was preempted before. Use start_extent instead which is correct (as long as the hypercall was invoked in a "normal" way). Signed-off-by: Igor Druzhinin Reviewed-by: Jan Beulich Reviewed-by: Roger Pau Monné master commit: 76dbabb59eeaa78e9f57407e5b15a6606488333e master date: 2020-03-18 12:55:54 +0100 --- diff --git a/xen/common/memory.c b/xen/common/memory.c index dee85f1496..312a8ec91c 100644 --- a/xen/common/memory.c +++ b/xen/common/memory.c @@ -1128,8 +1128,8 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg) } #ifdef CONFIG_X86 - if ( pv_shim && op != XENMEM_decrease_reservation && !args.preempted ) - /* Avoid calling pv_shim_online_memory when preempted. */ + if ( pv_shim && op != XENMEM_decrease_reservation && !start_extent ) + /* Avoid calling pv_shim_online_memory when in a continuation. */ pv_shim_online_memory(args.nr_extents, args.extent_order); #endif