• Michael S. Tsirkin's avatar
    virtio_pci: fix virtio spec compliance on restore · 6fbc198c
    Michael S. Tsirkin authored
    On restore, virtio pci does the following:
    + set features
    + init vqs etc - device can be used at this point!
    + set ACKNOWLEDGE,DRIVER and DRIVER_OK status bits
    
    This is in violation of the virtio spec, which
    requires the following order:
    - ACKNOWLEDGE
    - DRIVER
    - init vqs
    - DRIVER_OK
    
    This behaviour will break with hypervisors that assume spec compliant
    behaviour.  It seems like a good idea to have this patch applied to
    stable branches to reduce the support butden for the hypervisors.
    
    Cc: stable@vger.kernel.org
    Cc: Amit Shah <amit.shah@redhat.com>
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    6fbc198c
virtio_pci.c 22.4 KB