mic_virtio: robust feature array size calculation
mic reads sizeof(vdev->features) bits from device, but in fact it stores bits in local features variable. use sizeof(features) to make code robust against future changes extending sizeof(vdev->features). Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Родитель
e16e12be34
Коммит
0ffaeadfc4
|
@ -76,8 +76,7 @@ static u32 mic_get_features(struct virtio_device *vdev)
|
|||
u8 __iomem *in_features = mic_vq_features(desc);
|
||||
int feature_len = ioread8(&desc->feature_len);
|
||||
|
||||
bits = min_t(unsigned, feature_len,
|
||||
sizeof(vdev->features)) * 8;
|
||||
bits = min_t(unsigned, feature_len, sizeof(features)) * 8;
|
||||
for (i = 0; i < bits; i++)
|
||||
if (ioread8(&in_features[i / 8]) & (BIT(i % 8)))
|
||||
features |= BIT(i);
|
||||
|
|
Загрузка…
Ссылка в новой задаче