4d7edd7
From: Li Qiang <liq3ea@gmail.com>
4d7edd7
Date: Wed, 23 Nov 2016 13:53:34 +0100
4d7edd7
Subject: [PATCH] 9pfs: adjust the order of resource cleanup in device
4d7edd7
 unrealize
4d7edd7
4d7edd7
Unrealize should undo things that were set during realize in
4d7edd7
reverse order. So should do in the error path in realize.
4d7edd7
4d7edd7
Signed-off-by: Li Qiang <liq3ea@gmail.com>
4d7edd7
Reviewed-by: Greg Kurz <groug@kaod.org>
4d7edd7
Signed-off-by: Greg Kurz <groug@kaod.org>
4d7edd7
(cherry picked from commit 4774718e5c194026ba5ee7a28d9be49be3080e42)
4d7edd7
---
4d7edd7
 hw/9pfs/9p.c | 4 ++--
4d7edd7
 1 file changed, 2 insertions(+), 2 deletions(-)
4d7edd7
4d7edd7
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
4d7edd7
index 86f44db..6979c58 100644
4d7edd7
--- a/hw/9pfs/9p.c
4d7edd7
+++ b/hw/9pfs/9p.c
4d7edd7
@@ -3481,8 +3481,8 @@ int v9fs_device_realize_common(V9fsState *s, Error **errp)
4d7edd7
     rc = 0;
4d7edd7
 out:
4d7edd7
     if (rc) {
4d7edd7
-        g_free(s->ctx.fs_root);
4d7edd7
         g_free(s->tag);
4d7edd7
+        g_free(s->ctx.fs_root);
4d7edd7
         v9fs_path_free(&path);
4d7edd7
     }
4d7edd7
     return rc;
4d7edd7
@@ -3490,8 +3490,8 @@ out:
4d7edd7
 
4d7edd7
 void v9fs_device_unrealize_common(V9fsState *s, Error **errp)
4d7edd7
 {
4d7edd7
-    g_free(s->ctx.fs_root);
4d7edd7
     g_free(s->tag);
4d7edd7
+    g_free(s->ctx.fs_root);
4d7edd7
 }
4d7edd7
 
4d7edd7
 static void __attribute__((__constructor__)) v9fs_set_fd_limit(void)