android_kernel_samsung_msm8976/mm
Li Zefan 250ae5f4f3 kmemleak: allow freeing internal objects after kmemleak was disabled
Currently if kmemleak is disabled, the kmemleak objects can never be
freed, no matter if it's disabled by a user or due to fatal errors.

Those objects can be a big waste of memory.

    OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME
  1200264 1197433  99%    0.30K  46164       26    369312K kmemleak_object

With this patch, after kmemleak was disabled you can reclaim memory
with:

	# echo clear > /sys/kernel/debug/kmemleak

Also inform users about this with a printk.

Change-Id: I13fdd5f0439bf6bc23824d37a44813eb0fe6a392
Signed-off-by: Li Zefan <lizefan@huawei.com>
Acked-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>
Git-commit: c89da70c7360294e715df5abd4b7239db3274c86
Git-repo: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/
Signed-off-by: Vignesh Radhakrishnan <vigneshr@codeaurora.org>
2015-03-11 16:14:44 +05:30
..
backing-dev.c arch: Mass conversion of smp_mb__*() 2014-08-15 11:45:28 -07:00
balloon_compaction.c
bootmem.c mm: concentrate modification of totalram_pages into the mm core 2014-02-07 13:49:40 -08:00
bounce.c mm/bounce.c: fix a regression where MS_SNAP_STABLE (stable pages snapshotting) was ignored 2013-10-13 16:08:33 -07:00
cleancache.c
compaction.c mm/compaction: make isolate_freepages start at pageblock boundary 2014-06-16 13:42:53 -07:00
debug-pagealloc.c mm: Mark free pages as read only 2014-04-18 14:51:25 -07:00
dmapool.c
early_ioremap.c mm: create generic early_ioremap() support 2014-08-15 11:45:23 -07:00
fadvise.c
failslab.c
filemap.c arch: Mass conversion of smp_mb__*() 2014-08-15 11:45:28 -07:00
filemap_xip.c
fremap.c mm: fix use-after-free in sys_remap_file_pages 2014-01-09 12:24:24 -08:00
frontswap.c
highmem.c
huge_memory.c thp: fix copy_page_rep GPF by testing is_huge_zero_pmd once only 2014-01-25 08:27:12 -08:00
hugetlb.c hugetlb: fix copy_hugetlb_page_range() to handle migration/hwpoisoned entry 2014-07-09 11:14:03 -07:00
hugetlb_cgroup.c
hwpoison-inject.c
init-mm.c
internal.h Merge "mm/page_alloc: restrict max order of merging on isolated pageblock Current pageblock isolation logic could isolate each pageblock individually. This causes freepage accounting problem if freepage with pageblock order on isolate pageblock is merged with other freepage on normal pageblock. We can prevent merging by restricting max order of merging to pageblock order if freepage is on isolate pageblock." 2014-12-18 14:23:16 -08:00
interval_tree.c
Kconfig mm: vmscan: support setting of kswapd cpu affinity 2014-11-26 13:04:02 -08:00
Kconfig.debug defconfig: 8994: enable CONFIG_DEBUG_SLUB_PANIC_ON 2014-10-21 14:00:18 -07:00
kmemcheck.c
kmemleak-test.c
kmemleak.c kmemleak: allow freeing internal objects after kmemleak was disabled 2015-03-11 16:14:44 +05:30
ksm.c ksm: Add showmem notifier 2014-10-06 09:53:55 -07:00
maccess.c
madvise.c mm: add a field to store names for private anonymous memory 2014-06-13 12:05:14 -07:00
Makefile mm: Add notifier framework for showing memory 2014-10-06 09:47:49 -07:00
memblock.c mm/memblock: add memblock_get_current_limit 2014-04-08 09:51:10 -07:00
memcontrol.c memcg: Allow non-root users permission to control memory 2014-12-15 13:13:02 +05:30
memory-failure.c mm/memory-failure.c: don't let collect_procs() skip over processes for MF_ACTION_REQUIRED 2014-06-30 20:09:42 -07:00
memory.c mm: swap: don't delay swap free for fast swap devices 2015-02-27 14:51:32 +05:30
memory_hotplug.c
mempolicy.c Merge upstream tag 'v3.10.49' into msm-3.10 2014-08-20 13:23:09 -07:00
mempool.c
migrate.c Merge upstream linux-stable v3.10.28 into msm-3.10 2014-03-24 14:28:34 -07:00
mincore.c
mlock.c Merge upstream tag 'v3.10.40' into msm-3.10 2014-06-18 13:10:54 -07:00
mm_init.c
mmap.c mm: add a field to store names for private anonymous memory 2014-06-13 12:05:14 -07:00
mmu_context.c
mmu_notifier.c
mmzone.c
mprotect.c mm: add a field to store names for private anonymous memory 2014-06-13 12:05:14 -07:00
mremap.c mm, thp: close race between mremap() and split_huge_page() 2014-06-07 13:25:31 -07:00
msync.c
nobootmem.c mm/nobootmem.c: Drop __init annotation from free_bootmem_late 2014-04-21 15:28:38 -07:00
nommu.c mm: remove free_area_cache 2014-02-07 13:49:41 -08:00
oom_kill.c mm, oom: make dump_tasks public 2014-06-03 13:33:18 -07:00
page-writeback.c mm/page-writeback.c: fix divide by zero in bdi_dirty_limits() 2014-11-25 21:00:10 -08:00
page_alloc.c mm/page_alloc: restrict max order of merging on isolated pageblock 2014-12-17 11:51:09 -08:00
page_cgroup.c
page_io.c mm: swap: Rate limit swap write errors 2013-11-14 09:27:11 -08:00
page_isolation.c mm/page_alloc: restrict max order of merging on isolated pageblock 2014-12-17 11:51:09 -08:00
pageowner.c debugging: keep track of page owners 2014-03-28 13:33:08 -07:00
pagewalk.c mm: pagewalk: call pte_hole() for VM_PFNMAP during walk_page_range 2015-01-20 16:10:02 +05:30
percpu-km.c
percpu-vm.c
percpu.c percpu: make pcpu_alloc_chunk() use pcpu_mem_free() instead of kfree() 2014-06-07 13:25:37 -07:00
pgtable-generic.c mm: fix TLB flush race between migration, and change_protection_range 2014-01-09 12:24:23 -08:00
process_vm_access.c
quicklist.c
readahead.c
rmap.c mm: rmap: fix use-after-free in __put_anon_vma 2014-07-30 18:41:12 +05:30
shmem.c cope with potentially long ->d_dname() output for shmem/hugetlb 2014-01-09 16:35:41 -08:00
showmem.c mm: Add notifier framework for showing memory 2014-10-06 09:47:49 -07:00
slab.c
slab.h memcg: check that kmem_cache has memcg_params before accessing it 2013-09-07 22:09:58 -07:00
slab_common.c
slob.c
slub.c mm: slub: panic for object and slab errors 2014-10-22 11:16:52 -07:00
sparse-vmemmap.c
sparse.c
swap.c mm: close PageTail race 2014-04-03 12:01:05 -07:00
swap_state.c mm: swap: don't delay swap free for fast swap devices 2015-02-27 14:51:32 +05:30
swapfile.c mm: swap: don't delay swap free for fast swap devices 2015-02-27 14:51:32 +05:30
truncate.c
util.c nick kvfree() from apparmor 2014-09-23 10:37:57 -06:00
vmalloc.c mm: kmemleak: avoid false negatives on vmalloc'ed objects 2015-03-11 16:12:48 +05:30
vmpressure.c
vmscan.c mm: swap: don't delay swap free for fast swap devices 2015-02-27 14:51:32 +05:30
vmstat.c Revert "mm: add cma pcp list" 2014-08-22 11:03:00 -07:00
zbud.c zbud: add to mm/ 2013-10-18 18:24:55 -07:00
zswap.c mm, zswap: Fix CPU hotplug callback registration 2014-07-03 09:55:28 -07:00