[PATCH 31/31] dma-mapping-common: skip kmemleak checks for page-less SG entries

Christoph Hellwig
2015-08-12T07:05:50Z

include/asm-generic/dma-mapping-common.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/include/asm-generic/dma-mapping-common.h b/include/asm-generic/dma-mapping-common.h
index 940d5ec..afc3eaf 100644
--- a/include/asm-generic/dma-mapping-common.h
+++ b/include/asm-generic/dma-mapping-common.h
@@ -51,8 +51,10 @@ static inline int dma_map_sg_attrs(struct device *dev, struct scatterlist *sg,
int i, ents;
struct scatterlist *s;

- for_each_sg(sg, s, nents, i)
- kmemcheck_mark_initialized(sg_virt(s), s->length);
+ for_each_sg(sg, s, nents, i) {
+ if (sg_has_page(s))
+ kmemcheck_mark_initialized(sg_virt(s), s->length);
+ }
BUG_ON(!valid_dma_direction(dir));
ents = ops->map_sg(dev, sg, nents, dir, attrs);
BUG_ON(ents < 0);
--
1.9.1