| From dde2de20820ca0f2074f59b03c560259f3bd4437 Mon Sep 17 00:00:00 2001 |
| From: Ross Lagerwall <ross.lagerwall@citrix.com> |
| Date: Thu, 21 Jun 2018 14:00:20 +0100 |
| Subject: xen-netfront: Fix mismatched rtnl_unlock |
| |
| [ Upstream commit cb257783c2927b73614b20f915a91ff78aa6f3e8 ] |
| |
| Fixes: f599c64fdf7d ("xen-netfront: Fix race between device setup and open") |
| Reported-by: Ben Hutchings <ben.hutchings@codethink.co.uk> |
| Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com> |
| Reviewed-by: Juergen Gross <jgross@suse.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| 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 c85edd161a6c..aceae791baf3 100644 |
| --- a/drivers/net/xen-netfront.c |
| +++ b/drivers/net/xen-netfront.c |
| @@ -1848,7 +1848,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(); |
| @@ -1963,6 +1963,7 @@ abort_transaction_no_dev_fatal: |
| xennet_destroy_queues(info); |
| out: |
| rtnl_unlock(); |
| +out_unlocked: |
| device_unregister(&dev->dev); |
| return err; |
| } |
| -- |
| 2.17.1 |
| |