From: Robin Gong yibin.gong@nxp.com
commit 74c64efa1557fef731b59eb813f115436d18078e upstream.
Since mmap for userspace is based on page alignment, add page alignment for iram alloc from pool, otherwise, some good data located in the same page of dmab->area maybe touched wrongly by userspace like pulseaudio.
Signed-off-by: Robin Gong yibin.gong@nxp.com Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/1608221747-3474-1-git-send-email-yibin.gong@nxp.co... Signed-off-by: Takashi Iwai tiwai@suse.de Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
--- sound/core/memalloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
--- a/sound/core/memalloc.c +++ b/sound/core/memalloc.c @@ -77,7 +77,8 @@ static void snd_malloc_dev_iram(struct s /* Assign the pool into private_data field */ dmab->private_data = pool;
- dmab->area = gen_pool_dma_alloc(pool, size, &dmab->addr); + dmab->area = gen_pool_dma_alloc_align(pool, size, &dmab->addr, + PAGE_SIZE); }
/**