From: Keith Busch <kbusch@xxxxxxxxxx> If debug is enabled, dmapool will poison the range, so no need to clear it to 0 immediately before writing over it. Signed-off-by: Keith Busch <kbusch@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> --- mm/dmapool.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/dmapool.c b/mm/dmapool.c index 4dab48e7e0d75..d886b46c4b289 100644 --- a/mm/dmapool.c +++ b/mm/dmapool.c @@ -408,6 +408,8 @@ static bool pool_page_err(struct dma_pool *pool, struct dma_page *page, static bool pool_page_err(struct dma_pool *pool, struct dma_page *page, void *vaddr, dma_addr_t dma) { + if (want_init_on_free()) + memset(vaddr, 0, pool->size); return false; } #endif @@ -435,8 +437,6 @@ void dma_pool_free(struct dma_pool *pool, void *vaddr, dma_addr_t dma) return; } - if (want_init_on_free()) - memset(vaddr, 0, pool->size); if (pool_page_err(pool, page, vaddr, dma)) { spin_unlock_irqrestore(&pool->lock, flags); return; -- 2.30.2