From: Michael S. Tsirkin Date: Thu, 27 Nov 2014 11:29:24 +0000 (+0200) Subject: mic_virtio: robust feature array size calculation X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=0ffaeadfc451a11b5da35578b2f9b977f9f46489;p=sagit-ice-cold%2Fkernel_xiaomi_msm8998.git 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 --- diff --git a/drivers/misc/mic/card/mic_virtio.c b/drivers/misc/mic/card/mic_virtio.c index 4f070ad1875c..d5da9ff646cb 100644 --- a/drivers/misc/mic/card/mic_virtio.c +++ b/drivers/misc/mic/card/mic_virtio.c @@ -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);