[alsa-devel] [PATCH] ASoC: dmaengine: Make the pcm->name equal to pcm->id if the name is not set
Takashi Iwai
tiwai at suse.de
Tue Sep 10 14:07:21 CEST 2019
On Fri, 06 Sep 2019 07:55:24 +0200,
Peter Ujfalusi wrote:
>
> Some tools use the snd_pcm_info_get_name() to try to identify PCMs or for
> other purposes.
>
> Currently it is left empty with the dmaengine-pcm, in this case copy the
> pcm->id string as pcm->name.
>
> For example IGT is using this to find the HDMI PCM for testing audio on it.
>
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
> Reported-by: Arthur She <arthur.she at linaro.org>
> ---
> Hi,
>
> this was actually reported for 4.14 kernel with omap-pcm (replaced by sdma-pcm
> in v4.18), since then we only use the generic dmaengine PCM but the same issue
> applies today.
>
> Regards,
> Peter
>
> sound/soc/soc-generic-dmaengine-pcm.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c
> index 748f5f641002..d93db2c2b527 100644
> --- a/sound/soc/soc-generic-dmaengine-pcm.c
> +++ b/sound/soc/soc-generic-dmaengine-pcm.c
> @@ -306,6 +306,12 @@ static int dmaengine_pcm_new(struct snd_soc_pcm_runtime *rtd)
>
> if (!dmaengine_pcm_can_report_residue(dev, pcm->chan[i]))
> pcm->flags |= SND_DMAENGINE_PCM_FLAG_NO_RESIDUE;
> +
> + if (rtd->pcm->streams[i].pcm->name[0] == '\0') {
> + strncpy(rtd->pcm->streams[i].pcm->name,
> + rtd->pcm->streams[i].pcm->id,
> + sizeof(rtd->pcm->streams[i].pcm->name));
> + }
Any reason to use strncpy() instead of strscpy()?
After merging Mark's branch, I got a compile warning like:
sound/soc/soc-generic-dmaengine-pcm.c:311:4: warning: 'strncpy'
accessing 80 bytes at offsets 88 and 24 may overlap up to 0 bytes at
offset [9223372036854775807, -9223372036854775808] [-Wrestrict]
Takashi
>
> return 0;
> --
> Peter
>
> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
More information about the Alsa-devel
mailing list