]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commit
dma-contiguous: do not overwrite align in dma_alloc_contiguous()
authorNicolin Chen <nicoleotsuka@gmail.com>
Thu, 8 Aug 2019 00:43:13 +0000 (18:43 -0600)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 13 Aug 2019 12:11:36 +0000 (14:11 +0200)
commite422acec6b0fa2fce338c6fe1c3512e6da7908b4
treec4fbf6687bea4a133e7faba67b1dfc62d5bba175
parent2810960c3f0396364934bc997c16f2d7a2a03b42
dma-contiguous: do not overwrite align in dma_alloc_contiguous()

BugLink: https://bugs.launchpad.net/bugs/1839395
The dma_alloc_contiguous() limits align at CONFIG_CMA_ALIGNMENT for
cma_alloc() however it does not restore it for the fallback routine.
This will result in a size mismatch between the allocation and free
when running into the fallback routines after cma_alloc() fails, if
the align is larger than CONFIG_CMA_ALIGNMENT.

This patch adds a cma_align to take care of cma_alloc() and prevent
the align from being overwritten.

Fixes: fdaeec198ada ("dma-contiguous: add dma_{alloc,free}_contiguous() helpers")
Reported-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
(cherry picked from commit c6622a425acd1d2f3a443cd39b490a8777b622d7)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Acked-by: Kleber Souza <kleber.souza@canonical.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
kernel/dma/contiguous.c