[PATCH 1/2] xen-netfront: Fix mismatched rtnl_unlock

Stefan Bader stefan.bader at canonical.com
Thu Jul 12 14:50:10 UTC 2018


From: Ross Lagerwall <ross.lagerwall at citrix.com>

Fixes: f599c64fdf7d ("xen-netfront: Fix race between device setup and open")
Reported-by: Ben Hutchings <ben.hutchings at codethink.co.uk>
Signed-off-by: Ross Lagerwall <ross.lagerwall at citrix.com>
Reviewed-by: Juergen Gross <jgross at suse.com>
Signed-off-by: David S. Miller <davem at davemloft.net>

BugLink: https://bugs.launchpad.net/bugs/1781413

(cherry picked from commit cb257783c2927b73614b20f915a91ff78aa6f3e8)
Signed-off-by: Stefan Bader <stefan.bader at canonical.com>
---
 drivers/net/xen-netfront.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index a0de245..f4479b9 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1821,7 +1821,7 @@ static int talk_to_netback(struct xenbus_device *dev,
 	err = xen_net_read_mac(dev, info->netdev->dev_addr);
 	if (err) {
 		xenbus_dev_fatal(dev, err, "parsing %s/mac", dev->nodename);
-		goto out;
+		goto out_unlocked;
 	}
 
 	rtnl_lock();
@@ -1936,6 +1936,7 @@ abort_transaction_no_dev_fatal:
 	xennet_destroy_queues(info);
  out:
 	rtnl_unlock();
+out_unlocked:
 	device_unregister(&dev->dev);
 	return err;
 }
-- 
2.7.4





More information about the kernel-team mailing list