diff options
author | Vitaly Kuznetsov <vkuznets@redhat.com> | 2020-04-06 12:43:15 +0200 |
---|---|---|
committer | Wei Liu <wei.liu@kernel.org> | 2020-04-23 13:17:11 +0000 |
commit | b0a284dc65b401a508dc2c5ed7d465884220f607 (patch) | |
tree | ee5f7aa7032acddffe5e536b1d07d0e2d0167d61 /drivers/hv/vmbus_drv.c | |
parent | 5cc415001bca8fe0e3f0ee6d58a953a314dd9751 (diff) | |
download | linux-stable-b0a284dc65b401a508dc2c5ed7d465884220f607.tar.gz linux-stable-b0a284dc65b401a508dc2c5ed7d465884220f607.tar.bz2 linux-stable-b0a284dc65b401a508dc2c5ed7d465884220f607.zip |
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>
Diffstat (limited to 'drivers/hv/vmbus_drv.c')
-rw-r--r-- | drivers/hv/vmbus_drv.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index 8f08e8273dd8..6e54adb1dd33 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c @@ -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; |