mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
drivers: dma-removed: page align size on free
Fix removed ops memory leak which occurs when non-page aligned memory is freed. On free we need to page align the amount of memory being freed otherwise we risk rounding down the size of the allocation to the page boundary which would leak one page. Change-Id: Idabce39cad526eeaf073748edb227b2edd76f40e Signed-off-by: Liam Mark <lmark@codeaurora.org> Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
This commit is contained in:
parent
a87081cfb8
commit
ab2c3421d5
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2013-2017, The Linux Foundation. All rights reserved.
|
||||
* Copyright (C) 2000-2004 Russell King
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -294,6 +294,7 @@ void removed_free(struct device *dev, size_t size, void *cpu_addr,
|
||||
bool no_kernel_mapping = attrs & DMA_ATTR_NO_KERNEL_MAPPING;
|
||||
struct removed_region *dma_mem = dev->removed_mem;
|
||||
|
||||
size = PAGE_ALIGN(size);
|
||||
if (!no_kernel_mapping)
|
||||
iounmap(cpu_addr);
|
||||
mutex_lock(&dma_mem->lock);
|
||||
|
Loading…
x
Reference in New Issue
Block a user