Commit 14191c15 authored by Michael S. Tsirkin's avatar Michael S. Tsirkin
Browse files

virtio_config: disallow native type fields (again)



_Generic version allowed __uXX types but that is no longer necessary:

Transitional devices should all use __virtioXX types (and __leXX for
fields not present in the legacy devices).
Modern ones should use __leXX.
_uXX type would be a bug.
Let's prevent that.

Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent a5b90f2d
Loading
Loading
Loading
Loading
+2 −14
Original line number Diff line number Diff line
@@ -304,13 +304,7 @@ static inline __virtio64 cpu_to_virtio64(struct virtio_device *vdev, u64 val)
				 __u8: (x), \
				 __le16: virtio16_to_cpu((vdev), (__force __virtio16)(x)), \
				 __le32: virtio32_to_cpu((vdev), (__force __virtio32)(x)), \
				 __le64: virtio64_to_cpu((vdev), (__force __virtio64)(x)), \
				 default: _Generic((x), \
						  __u8: (x), \
						  __u16: virtio16_to_cpu((vdev), (__force __virtio16)(x)), \
						  __u32: virtio32_to_cpu((vdev), (__force __virtio32)(x)), \
						  __u64: virtio64_to_cpu((vdev), (__force __virtio64)(x)) \
						  ) \
				 __le64: virtio64_to_cpu((vdev), (__force __virtio64)(x)) \
				 ) \
		)

@@ -330,13 +324,7 @@ static inline __virtio64 cpu_to_virtio64(struct virtio_device *vdev, u64 val)
				 __u8: (x), \
				 __le16: (__force __le16)cpu_to_virtio16((vdev), (x)), \
				 __le32: (__force __le32)cpu_to_virtio32((vdev), (x)), \
				 __le64: (__force __le64)cpu_to_virtio64((vdev), (x)), \
				 default: _Generic((m), \
						  __u8: (x), \
						  __u16: (__force __u16)cpu_to_virtio16((vdev), (x)), \
						  __u32: (__force __u32)cpu_to_virtio32((vdev), (x)), \
						  __u64: (__force __u64)cpu_to_virtio64((vdev), (x)) \
						  ) \
				 __le64: (__force __le64)cpu_to_virtio64((vdev), (x)) \
				 ) \
		)