Skip to content
Commit 909d87d3 authored by Michael S. Tsirkin's avatar Michael S. Tsirkin Committed by Michael Roth
Browse files

virtio: set low features early on load



virtio migrates the low 32 feature bits twice, the first copy is there
for compatibility but ever since
019a3edb: ("virtio: make features 64bit
wide") it's ignored on load. This is wrong since virtio_net_load tests
self announcement and guest offloads before the second copy including
high feature bits is loaded.  This means that self announcement, control
vq and guest offloads are all broken after migration.

Fix it up by loading low feature bits: somewhat ugly since high and low
bits become out of sync temporarily, but seems unavoidable for
compatibility.  The right thing to do for new features is probably to
test the host features, anyway.

Fixes: 019a3edb
    ("virtio: make features 64bit wide")
Cc: qemu-stable@nongnu.org
Reported-by: default avatarRobin Geuze <robing@transip.nl>
Tested-by: default avatarRobin Geuze <robing@transip.nl>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>

(cherry picked from commit 62cee1a2)
Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
parent 9566ceee
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment