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 |
---|---|---|
Kconfig | -rw-r--r-- | 620 bytes |
Makefile | -rw-r--r-- | 293 bytes |
dm-array.c | -rw-r--r-- | 19.7 KB |
dm-array.h | -rw-r--r-- | 5.6 KB |
dm-bitset.c | -rw-r--r-- | 4.0 KB |
dm-bitset.h | -rw-r--r-- | 5.2 KB |
dm-block-manager.c | -rw-r--r-- | 13.4 KB |
dm-block-manager.h | -rw-r--r-- | 4.0 KB |
dm-btree-internal.h | -rw-r--r-- | 3.3 KB |
dm-btree-remove.c | -rw-r--r-- | 14.9 KB |
dm-btree-spine.c | -rw-r--r-- | 5.1 KB |
dm-btree.c | -rw-r--r-- | 20.0 KB |
dm-btree.h | -rw-r--r-- | 4.6 KB |
dm-persistent-data-internal.h | -rw-r--r-- | 407 bytes |
dm-space-map-common.c | -rw-r--r-- | 16.8 KB |
dm-space-map-common.h | -rw-r--r-- | 3.4 KB |
dm-space-map-disk.c | -rw-r--r-- | 6.3 KB |
dm-space-map-disk.h | -rw-r--r-- | 603 bytes |
dm-space-map-metadata.c | -rw-r--r-- | 16.6 KB |
dm-space-map-metadata.h | -rw-r--r-- | 1.1 KB |
dm-space-map.h | -rw-r--r-- | 4.2 KB |
dm-transaction-manager.c | -rw-r--r-- | 9.4 KB |
dm-transaction-manager.h | -rw-r--r-- | 5.0 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...