Revision 2cff98b99c469880ce830cbcde015b53b67e0a7b authored by Dean Nelson on 29 April 2015, 15:09:18 UTC, committed by Will Deacon on 29 April 2015, 16:39:39 UTC
__dma_alloc() does a PAGE_ALIGN() on the passed in size argument before doing anything else. __dma_free() does not. And because it doesn't, it is possible to leak memory should size not be an integer multiple of PAGE_SIZE. The solution is to add a PAGE_ALIGN() to __dma_free() like is done in __dma_alloc(). Additionally, this patch removes a redundant PAGE_ALIGN() from __dma_alloc_coherent(), since __dma_alloc_coherent() can only be called from __dma_alloc(), which already does a PAGE_ALIGN() before the call. Cc: stable@vger.kernel.org Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Dean Nelson <dnelson@redhat.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
1 parent 6829e27
File | Mode | Size |
---|---|---|
power | ||
regmap | ||
Kconfig | -rw-r--r-- | 11.1 KB |
Makefile | -rw-r--r-- | 912 bytes |
attribute_container.c | -rw-r--r-- | 12.0 KB |
base.h | -rw-r--r-- | 5.1 KB |
bus.c | -rw-r--r-- | 31.7 KB |
cacheinfo.c | -rw-r--r-- | 14.1 KB |
class.c | -rw-r--r-- | 14.9 KB |
component.c | -rw-r--r-- | 11.4 KB |
container.c | -rw-r--r-- | 968 bytes |
core.c | -rw-r--r-- | 56.0 KB |
cpu.c | -rw-r--r-- | 11.2 KB |
dd.c | -rw-r--r-- | 16.5 KB |
devcoredump.c | -rw-r--r-- | 7.9 KB |
devres.c | -rw-r--r-- | 24.2 KB |
devtmpfs.c | -rw-r--r-- | 9.0 KB |
dma-coherent.c | -rw-r--r-- | 8.6 KB |
dma-contiguous.c | -rw-r--r-- | 8.0 KB |
dma-mapping.c | -rw-r--r-- | 8.2 KB |
driver.c | -rw-r--r-- | 5.6 KB |
firmware.c | -rw-r--r-- | 614 bytes |
firmware_class.c | -rw-r--r-- | 39.1 KB |
hypervisor.c | -rw-r--r-- | 544 bytes |
init.c | -rw-r--r-- | 737 bytes |
isa.c | -rw-r--r-- | 3.7 KB |
map.c | -rw-r--r-- | 3.3 KB |
memory.c | -rw-r--r-- | 18.7 KB |
module.c | -rw-r--r-- | 1.9 KB |
node.c | -rw-r--r-- | 18.0 KB |
pinctrl.c | -rw-r--r-- | 2.2 KB |
platform.c | -rw-r--r-- | 32.9 KB |
property.c | -rw-r--r-- | 17.6 KB |
soc.c | -rw-r--r-- | 4.1 KB |
syscore.c | -rw-r--r-- | 3.2 KB |
topology.c | -rw-r--r-- | 4.1 KB |
transport_class.c | -rw-r--r-- | 9.4 KB |
Computing file changes ...