diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 91c6ad58729f..3742bf5e8e49 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -705,6 +705,10 @@ static int snd_pcm_hw_params(struct snd_pcm_substream *substream, while (runtime->boundary * 2 <= LONG_MAX - runtime->buffer_size) runtime->boundary *= 2; + /* clear the buffer for avoiding possible kernel info leaks */ + if (runtime->dma_area && !substream->ops->copy_user) + memset(runtime->dma_area, 0, runtime->dma_bytes); + snd_pcm_timer_resolution_change(substream); snd_pcm_set_state(substream, SNDRV_PCM_STATE_SETUP);