Commit b0a284dc authored by Vitaly Kuznetsov's avatar Vitaly Kuznetsov Committed by Wei Liu
Browse files

Drivers: hv: make sure that 'struct vmbus_channel_message_header' compiles correctly



Strictly speaking, compiler is free to use something different from 'u32'
for 'enum vmbus_channel_message_type' (e.g. char) but it doesn't happen in
real life, just add a BUILD_BUG_ON() guardian.

Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: default avatarMichael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20200406104316.45303-1-vkuznets@redhat.com


Signed-off-by: default avatarWei Liu <wei.liu@kernel.org>
parent 5cc41500
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1051,6 +1051,13 @@ void vmbus_on_msg_dpc(unsigned long data)
	struct onmessage_work_context *ctx;
	u32 message_type = msg->header.message_type;

	/*
	 * 'enum vmbus_channel_message_type' is supposed to always be 'u32' as
	 * it is being used in 'struct vmbus_channel_message_header' definition
	 * which is supposed to match hypervisor ABI.
	 */
	BUILD_BUG_ON(sizeof(enum vmbus_channel_message_type) != sizeof(u32));

	if (message_type == HVMSG_NONE)
		/* no msg */
		return;