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