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: Vitaly Kuznetsov <vkuznets@redhat.com> Reviewed-by: Michael Kelley <mikelley@microsoft.com> Link: https://lore.kernel.org/r/20200406104316.45303-1-vkuznets@redhat.com Signed-off-by: Wei Liu <wei.liu@kernel.org>
This commit is contained in:
parent
5cc415001b
commit
b0a284dc65
|
@ -1051,6 +1051,13 @@ void vmbus_on_msg_dpc(unsigned long data)
|
||||||
struct onmessage_work_context *ctx;
|
struct onmessage_work_context *ctx;
|
||||||
u32 message_type = msg->header.message_type;
|
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)
|
if (message_type == HVMSG_NONE)
|
||||||
/* no msg */
|
/* no msg */
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue