summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorCurtis Malainey <cujomalainey@chromium.org>2020-11-20 16:40:25 +0200
committerMark Brown <broonie@kernel.org>2020-11-20 16:42:14 +0000
commit7c1d0e554a359cca77bfabd2a29b06f5322d172d (patch)
tree1499ce618ae5c20e00557fb0c7cfbb48024932cb /include
parent6b114d8b4dedab4712bfa77b4bdd81813aba3895 (diff)
ASoC: SOF: IPC: fix implicit type overflow
Implicit values may have a length of 15bits (s16) so we need to declare the proper size so we don't get undefined behaviour. This appears to be arch and compiler dependent. This commit is to keep the headers aligned between the firmware and kernel. UBSan discovered this bug in the firmware. Signed-off-by: Curtis Malainey <cujomalainey@chromium.org> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20201120144025.2166023-1-kai.vehmanen@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include')
-rw-r--r--include/sound/sof/header.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/sound/sof/header.h b/include/sound/sof/header.h
index 2d35997ace40..571e1dd54b89 100644
--- a/include/sound/sof/header.h
+++ b/include/sound/sof/header.h
@@ -31,12 +31,12 @@
/* Global Message - Generic */
#define SOF_GLB_TYPE_SHIFT 28
-#define SOF_GLB_TYPE_MASK (0xf << SOF_GLB_TYPE_SHIFT)
+#define SOF_GLB_TYPE_MASK (0xfL << SOF_GLB_TYPE_SHIFT)
#define SOF_GLB_TYPE(x) ((x) << SOF_GLB_TYPE_SHIFT)
/* Command Message - Generic */
#define SOF_CMD_TYPE_SHIFT 16
-#define SOF_CMD_TYPE_MASK (0xfff << SOF_CMD_TYPE_SHIFT)
+#define SOF_CMD_TYPE_MASK (0xfffL << SOF_CMD_TYPE_SHIFT)
#define SOF_CMD_TYPE(x) ((x) << SOF_CMD_TYPE_SHIFT)
/* Global Message Types */