diff options
author | Dongli Zhang <dongli.zhang@oracle.com> | 2021-10-23 02:31:39 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-10-25 18:13:12 +0300 |
commit | 042b2046d0f05cf8124c26ff65dbb6148a4404fb (patch) | |
tree | 6fd23a47c94c2f0f7ddda58561581f8cf20d975f /drivers/irqchip/irq-bcm7038-l1.c | |
parent | 0c57eeecc559ca6bc18b8c4e2808bc78dbe769b0 (diff) | |
download | linux-042b2046d0f05cf8124c26ff65dbb6148a4404fb.tar.xz |
xen/netfront: stop tx queues during live migration
The tx queues are not stopped during the live migration. As a result, the
ndo_start_xmit() may access netfront_info->queues which is freed by
talk_to_netback()->xennet_destroy_queues().
This patch is to netif_device_detach() at the beginning of xen-netfront
resuming, and netif_device_attach() at the end of resuming.
CPU A CPU B
talk_to_netback()
-> if (info->queues)
xennet_destroy_queues(info);
to free netfront_info->queues
xennet_start_xmit()
to access netfront_info->queues
-> err = xennet_create_queues(info, &num_queues);
The idea is borrowed from virtio-net.
Cc: Joe Jin <joe.jin@oracle.com>
Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/irqchip/irq-bcm7038-l1.c')
0 files changed, 0 insertions, 0 deletions