Re: [PATCH 2/6] ASoC: Intel: Fix use of potentially uninitialized variable

From: Cezary Rojewski
Date: Tue Aug 27 2019 - 15:18:44 EST


On 2019-08-27 16:17, Amadeusz SÅawiÅski wrote:
From: Amadeusz SÅawiÅski <amadeuszx.slawinski@xxxxxxxxx>

If ipc->ops.reply_msg_match is NULL, we may end up using uninitialized
mask value.

reported by smatch:
sound/soc/intel/common/sst-ipc.c:266 sst_ipc_reply_find_msg() error: uninitialized symbol 'mask'.

Signed-off-by: Amadeusz SÅawiÅski <amadeuszx.slawinski@xxxxxxxxx>
---
sound/soc/intel/common/sst-ipc.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/sound/soc/intel/common/sst-ipc.c b/sound/soc/intel/common/sst-ipc.c
index 1186a03a88d6..6068bb697e22 100644
--- a/sound/soc/intel/common/sst-ipc.c
+++ b/sound/soc/intel/common/sst-ipc.c
@@ -223,6 +223,8 @@ struct ipc_message *sst_ipc_reply_find_msg(struct sst_generic_ipc *ipc,
if (ipc->ops.reply_msg_match != NULL)
header = ipc->ops.reply_msg_match(header, &mask);
+ else
+ mask = (u64)-1;

Please see linux/limits.h and check if this can't be replaced by an equivalent found there.

if (list_empty(&ipc->rx_list)) {
dev_err(ipc->dev, "error: rx list empty but received 0x%llx\n",