diff options
author | Peter Ujfalusi <peter.ujfalusi@linux.intel.com> | 2022-03-09 13:01:04 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-03-09 17:34:59 +0000 |
commit | 81acac8c2c88764c773811d1ec858852f81eb88a (patch) | |
tree | 04b4751e3b0ec9b858de4b81ae799ebfaccb7cb0 /sound/soc/sof/sof-client-ipc-msg-injector.c | |
parent | 5bd998af5b69cf21fd4db5eaf7e9db85a4a35295 (diff) | |
download | lwn-81acac8c2c88764c773811d1ec858852f81eb88a.tar.gz lwn-81acac8c2c88764c773811d1ec858852f81eb88a.zip |
ASoC: SOF: ipc-msg-injector: Use devm_kzalloc() for the rx_buffer
The rx_buffer is cleared before sending an IPC to make sure that when the
/sys/kernel/debug/sof/ipc_msg_inject file is read we will have correct
information in the buffer (no random or stale data).
But if the user reads the file before sending any message the buffer might
contain garbage which should not be interpreted.
To prevent this, clear the rx_buffer on allocation.
Fixes: cac0b0887e53 ("ASoC: SOF: Convert the generic IPC message injector into SOF client")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220309110104.18370-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/sof/sof-client-ipc-msg-injector.c')
-rw-r--r-- | sound/soc/sof/sof-client-ipc-msg-injector.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/sof/sof-client-ipc-msg-injector.c b/sound/soc/sof/sof-client-ipc-msg-injector.c index bce103da4c49..dba6cfd7db09 100644 --- a/sound/soc/sof/sof-client-ipc-msg-injector.c +++ b/sound/soc/sof/sof-client-ipc-msg-injector.c @@ -137,7 +137,7 @@ static int sof_msg_inject_probe(struct auxiliary_device *auxdev, return -ENOMEM; priv->tx_buffer = devm_kmalloc(dev, SOF_IPC_MSG_MAX_SIZE, GFP_KERNEL); - priv->rx_buffer = devm_kmalloc(dev, SOF_IPC_MSG_MAX_SIZE, GFP_KERNEL); + priv->rx_buffer = devm_kzalloc(dev, SOF_IPC_MSG_MAX_SIZE, GFP_KERNEL); if (!priv->tx_buffer || !priv->rx_buffer) return -ENOMEM; |