diff mbox series

x86/mem_sharing: Release domain if we are not able to enable memory sharing

Message ID 20231122163955.14555-1-frediano.ziglio@cloud.com (mailing list archive)
State New, archived
Headers show
Series x86/mem_sharing: Release domain if we are not able to enable memory sharing | expand

Commit Message

Frediano Ziglio Nov. 22, 2023, 4:39 p.m. UTC
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.ziglio@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(-)

Comments

Andrew Cooper Nov. 22, 2023, 7:42 p.m. UTC | #1
On 22/11/2023 4:39 pm, Frediano Ziglio wrote:
> 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.

Fixes: 72f8d45d69b8 ("x86/mem_sharing: enable mem_sharing on first memop")

> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

That was simply a broken transformation in the patch.
Tamas K Lengyel Nov. 26, 2023, 11:45 p.m. UTC | #2
On Wed, Nov 22, 2023 at 2:42 PM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>
> On 22/11/2023 4:39 pm, Frediano Ziglio wrote:
> > 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.
>
> Fixes: 72f8d45d69b8 ("x86/mem_sharing: enable mem_sharing on first memop")
>
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
diff mbox series

Patch

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 )
     {