In case it's not possible to enable memory sharing (mem_sharing_control fails) we just return the error code without releasing the domain acquired some lines above by rcu_lock_live_remote_domain_by_id.
Signed-off-by: Frediano Ziglio <frediano.zig...@cloud.com> -- I didn't manage to check the change, I was just looking at the code for different purposes. --- xen/arch/x86/mm/mem_sharing.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c index 9647e651f9..4f810706a3 100644 --- a/xen/arch/x86/mm/mem_sharing.c +++ b/xen/arch/x86/mm/mem_sharing.c @@ -2013,7 +2013,7 @@ int mem_sharing_memop(XEN_GUEST_HANDLE_PARAM(xen_mem_sharing_op_t) arg) if ( !mem_sharing_enabled(d) && (rc = mem_sharing_control(d, true, 0)) ) - return rc; + goto out; switch ( mso.op ) { -- 2.34.1