diff options
author | Ross Lagerwall <ross.lagerwall@citrix.com> | 2017-02-08 10:57:37 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-02-09 16:43:01 -0500 |
commit | e2e004acc7cbe3c531e752a270a74e95cde3ea48 (patch) | |
tree | 1a1644a3498b13ff364b7a738f736a153ef4c3eb /net/ipv6/mcast.c | |
parent | 1b5805c29c7fffc569b749c760b2bafce925df87 (diff) | |
download | linux-e2e004acc7cbe3c531e752a270a74e95cde3ea48.tar.gz linux-e2e004acc7cbe3c531e752a270a74e95cde3ea48.tar.bz2 linux-e2e004acc7cbe3c531e752a270a74e95cde3ea48.zip |
xen-netfront: Improve error handling during initialization
This fixes a crash when running out of grant refs when creating many
queues across many netdevs.
* If creating queues fails (i.e. there are no grant refs available),
call xenbus_dev_fatal() to ensure that the xenbus device is set to the
closed state.
* If no queues are created, don't call xennet_disconnect_backend as
netdev->real_num_tx_queues will not have been set correctly.
* If setup_netfront() fails, ensure that all the queues created are
cleaned up, not just those that have been set up.
* If any queues were set up and an error occurs, call
xennet_destroy_queues() to clean up the napi context.
* If any fatal error occurs, unregister and destroy the netdev to avoid
leaving around a half setup network device.
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/mcast.c')
0 files changed, 0 insertions, 0 deletions