xen-netback: fix debugfs entry creation
authorWei Liu <wei.liu2@citrix.com>
Tue, 12 Aug 2014 10:59:30 +0000 (11:59 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 14 Aug 2014 03:06:43 +0000 (20:06 -0700)
The original code is bogus. The function gets called in a loop which
leaks entries created in previous rounds.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Zoltan Kiss <zoltan.kiss@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/xen-netback/xenbus.c

index 4c9041e..9c47b89 100644 (file)
@@ -174,10 +174,9 @@ static const struct file_operations xenvif_dbg_io_ring_ops_fops = {
        .write = xenvif_write_io_ring,
 };
 
-static void xenvif_debugfs_addif(struct xenvif_queue *queue)
+static void xenvif_debugfs_addif(struct xenvif *vif)
 {
        struct dentry *pfile;
-       struct xenvif *vif = queue->vif;
        int i;
 
        if (IS_ERR_OR_NULL(xen_netback_dbg_root))
@@ -736,10 +735,11 @@ static void connect(struct backend_info *be)
                        be->vif->num_queues = queue_index;
                        goto err;
                }
+       }
+
 #ifdef CONFIG_DEBUG_FS
-               xenvif_debugfs_addif(queue);
+       xenvif_debugfs_addif(be->vif);
 #endif /* CONFIG_DEBUG_FS */
-       }
 
        /* Initialisation completed, tell core driver the number of
         * active queues.