diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2013-11-12 15:07:45 -0800 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2014-08-06 18:07:42 +0100 |
commit | dc47dfd2bdcd9d46fc80c0fc48cd70274b464f60 (patch) | |
tree | 045fedb196926404760eda6598896064ddb54f62 /mm/failslab.c | |
parent | b11597b7041b76aa25855db6028fad853201c54e (diff) | |
download | kernel_samsung_smdk4412-dc47dfd2bdcd9d46fc80c0fc48cd70274b464f60.zip kernel_samsung_smdk4412-dc47dfd2bdcd9d46fc80c0fc48cd70274b464f60.tar.gz kernel_samsung_smdk4412-dc47dfd2bdcd9d46fc80c0fc48cd70274b464f60.tar.bz2 |
mm: kmemleak: avoid false negatives on vmalloc'ed objects
commit 7f88f88f83ed609650a01b18572e605ea50cd163 upstream.
Commit 248ac0e1943a ("mm/vmalloc: remove guard page from between vmap
blocks") had the side effect of making vmap_area.va_end member point to
the next vmap_area.va_start. This was creating an artificial reference
to vmalloc'ed objects and kmemleak was rarely reporting vmalloc() leaks.
This patch marks the vmap_area containing pointers explicitly and
reduces the min ref_count to 2 as vm_struct still contains a reference
to the vmalloc'ed object. The kmemleak add_scan_area() function has
been improved to allow a SIZE_MAX argument covering the rest of the
object (for simpler calling sites).
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'mm/failslab.c')
0 files changed, 0 insertions, 0 deletions