ASoC: SOF: fix 32 signed bit overflow
authorCurtis Malainey <cujomalainey@chromium.org>
Fri, 4 Mar 2022 20:57:31 +0000 (14:57 -0600)
committerMark Brown <broonie@kernel.org>
Mon, 7 Mar 2022 13:12:52 +0000 (13:12 +0000)
Shifting in a signed 32bit container past the signed bit is technically
undefined behaviour. Fix by using unsigned types. Found via cppcheck.

Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220304205733.62233-9-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/sof/header.h
include/uapi/sound/sof/abi.h

index b97a76b..b22e925 100644 (file)
@@ -31,7 +31,7 @@
 
 /* Global Message - Generic */
 #define SOF_GLB_TYPE_SHIFT                     28
-#define SOF_GLB_TYPE_MASK                      (0xfL << SOF_GLB_TYPE_SHIFT)
+#define SOF_GLB_TYPE_MASK                      (0xfUL << SOF_GLB_TYPE_SHIFT)
 #define SOF_GLB_TYPE(x)                                ((x) << SOF_GLB_TYPE_SHIFT)
 
 /* Command Message - Generic */
index f4232d2..e052653 100644 (file)
@@ -27,7 +27,7 @@
 /* SOF ABI version major, minor and patch numbers */
 #define SOF_ABI_MAJOR 3
 #define SOF_ABI_MINOR 19
-#define SOF_ABI_PATCH 0
+#define SOF_ABI_PATCH 1
 
 /* SOF ABI version number. Format within 32bit word is MMmmmppp */
 #define SOF_ABI_MAJOR_SHIFT    24