]> www.infradead.org Git - users/dwmw2/linux.git/commit
dma-coherent: Warn if OF reserved memory is beyond current coherent DMA mask
authorChen-Yu Tsai <wenst@chromium.org>
Mon, 21 Apr 2025 08:39:29 +0000 (16:39 +0800)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Tue, 22 Apr 2025 15:44:09 +0000 (17:44 +0200)
commit89461db349cc00816c01d55507d511466b3b7151
tree006a0a7e8dada030c3b675ece0cfb0b800d29410
parentcae5572ec9261f752af834cdaaf5a0ba0afcf256
dma-coherent: Warn if OF reserved memory is beyond current coherent DMA mask

When a reserved memory region described in the device tree is attached
to a device, it is expected that the device's limitations are correctly
included in that description.

However, if the device driver failed to implement DMA address masking
or addressing beyond the default 32 bits (on arm64), then bad things
could happen because the DMA address was truncated, such as playing
back audio with no actual audio coming out, or DMA overwriting random
blocks of kernel memory.

Check against the coherent DMA mask when the memory regions are attached
to the device. Give a warning when the memory region can not be covered
by the mask.

A warning instead of a hard error was chosen, because it is possible
that existing drivers could be working fine even if they forgot to
extend the coherent DMA mask.

Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20250421083930.374173-1-wenst@chromium.org
kernel/dma/coherent.c