On Wed, Nov 26, 2014 at 05:48:09PM +0100, Greg Kurz wrote: > On Tue, 25 Nov 2014 18:41:22 +0200 > "Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote: > > > From: Rusty Russell <rusty@xxxxxxxxxxxxxxx> > > > > Change the u32 to a u64, and make sure to use 1ULL everywhere! > > > > Cc: Brian Swetland <swetland@xxxxxxxxxx> > > Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> > > [Thomas Huth: fix up virtio-ccw get_features] > > Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> > > Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> > > Acked-by: Pawel Moll <pawel.moll@xxxxxxx> > > Acked-by: Ohad Ben-Cohen <ohad@xxxxxxxxxx> > > > > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> ... > > @@ -86,14 +86,14 @@ static inline bool virtio_has_feature(const struct virtio_device *vdev, > > { > > /* Did you forget to fix assumptions on max features? */ > > if (__builtin_constant_p(fbit)) > > - BUILD_BUG_ON(fbit >= 32); > > + BUILD_BUG_ON(fbit >= 64); > > > While you're here, maybe you could derive the max value from the .features field ? > > - BUILD_BUG_ON(fbit >= 64); > + BUILD_BUG_ON(fbit >= (sizeof(vdev->features) << 3)); I don't see how that will help. All that 1ULL math only works up to 64 bit. So this only makes it look like we support any size, but doesn't really. No? _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization