aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/wmi.c
diff options
context:
space:
mode:
authorBarnabás Pőcze <pobrn@protonmail.com>2021-09-04 17:55:42 +0000
committerHans de Goede <hdegoede@redhat.com>2021-09-14 12:26:01 +0200
commitdea878d88f9d0135d0024cf5955d03402b475e5b (patch)
treebdd8d4b45503b7d4be93210e0cede7d517a44619 /drivers/platform/x86/wmi.c
parentplatform/x86: wmi: use guid_t and guid_equal() (diff)
downloadlinux-dev-dea878d88f9d0135d0024cf5955d03402b475e5b.tar.xz
linux-dev-dea878d88f9d0135d0024cf5955d03402b475e5b.zip
platform/x86: wmi: make GUID block packed
The `guid_block` struct is overlaid onto a buffer coming from the _WDG ACPI object of the device. For this reason mark the struct packed and add assertions about sizes. Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com> Link: https://lore.kernel.org/r/20210904175450.156801-16-pobrn@protonmail.com Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'drivers/platform/x86/wmi.c')
-rw-r--r--drivers/platform/x86/wmi.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
index dc96cae71fd0..7e294f596785 100644
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -18,6 +18,7 @@
#include <linux/acpi.h>
#include <linux/bits.h>
+#include <linux/build_bug.h>
#include <linux/device.h>
#include <linux/init.h>
#include <linux/kernel.h>
@@ -50,7 +51,10 @@ struct guid_block {
};
u8 instance_count;
u8 flags;
-};
+} __packed;
+static_assert(sizeof(typeof_member(struct guid_block, guid)) == 16);
+static_assert(sizeof(struct guid_block) == 20);
+static_assert(__alignof__(struct guid_block) == 1);
struct wmi_block {
struct wmi_device dev;