virtio_pci: add check for common cfg size

Some buggy devices, the common cfg size may not match the features.

This patch checks the common cfg size for the
features(VIRTIO_F_NOTIF_CONFIG_DATA, VIRTIO_F_RING_RESET). When the
common cfg size does not match the corresponding feature, we fail the
probe and print error message.

Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20231019034902.7346-1-xuanzhuo@linux.alibaba.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Xuan Zhuo
2023-10-19 11:49:02 +08:00
committed by Michael S. Tsirkin
parent fafb51a67f
commit e0592acd1e
3 changed files with 38 additions and 1 deletions

View File

@@ -45,6 +45,7 @@ struct virtio_pci_modern_device {
size_t notify_len;
size_t device_len;
size_t common_len;
int notify_map_cap;