diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-14 21:11:11 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-14 21:11:11 -0500 |
| commit | 892d208bcf79e4e1058707786a7b6d486697cd78 (patch) | |
| tree | 15446e4d19f7f98078344ab0bc37ae6af4898c6d /include/linux | |
| parent | dca88ad6915b65f6e037f8c3e632fcd92a70bd88 (diff) | |
| parent | 029aeff5db879afd7760f11214b6fea45f76b58e (diff) | |
Merge tag 'kmemleak' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux
Kmemleak patches
Main features:
- Handle percpu memory allocations (only scanning them, not actually
reporting).
- Memory hotplug support.
Usability improvements:
- Show the origin of early allocations.
- Report previously found leaks even if kmemleak has been disabled by
some error.
* tag 'kmemleak' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux:
kmemleak: Add support for memory hotplug
kmemleak: Handle percpu memory allocation
kmemleak: Report previously found leaks even after an error
kmemleak: When the early log buffer is exceeded, report the actual number
kmemleak: Show where early_log issues come from
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/kmemleak.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/kmemleak.h b/include/linux/kmemleak.h index 99d9a6766f7e..2a5e5548a1d2 100644 --- a/include/linux/kmemleak.h +++ b/include/linux/kmemleak.h | |||
| @@ -26,8 +26,10 @@ | |||
| 26 | extern void kmemleak_init(void) __ref; | 26 | extern void kmemleak_init(void) __ref; |
| 27 | extern void kmemleak_alloc(const void *ptr, size_t size, int min_count, | 27 | extern void kmemleak_alloc(const void *ptr, size_t size, int min_count, |
| 28 | gfp_t gfp) __ref; | 28 | gfp_t gfp) __ref; |
| 29 | extern void kmemleak_alloc_percpu(const void __percpu *ptr, size_t size) __ref; | ||
| 29 | extern void kmemleak_free(const void *ptr) __ref; | 30 | extern void kmemleak_free(const void *ptr) __ref; |
| 30 | extern void kmemleak_free_part(const void *ptr, size_t size) __ref; | 31 | extern void kmemleak_free_part(const void *ptr, size_t size) __ref; |
| 32 | extern void kmemleak_free_percpu(const void __percpu *ptr) __ref; | ||
| 31 | extern void kmemleak_padding(const void *ptr, unsigned long offset, | 33 | extern void kmemleak_padding(const void *ptr, unsigned long offset, |
| 32 | size_t size) __ref; | 34 | size_t size) __ref; |
| 33 | extern void kmemleak_not_leak(const void *ptr) __ref; | 35 | extern void kmemleak_not_leak(const void *ptr) __ref; |
| @@ -68,6 +70,9 @@ static inline void kmemleak_alloc_recursive(const void *ptr, size_t size, | |||
| 68 | gfp_t gfp) | 70 | gfp_t gfp) |
| 69 | { | 71 | { |
| 70 | } | 72 | } |
| 73 | static inline void kmemleak_alloc_percpu(const void __percpu *ptr, size_t size) | ||
| 74 | { | ||
| 75 | } | ||
| 71 | static inline void kmemleak_free(const void *ptr) | 76 | static inline void kmemleak_free(const void *ptr) |
| 72 | { | 77 | { |
| 73 | } | 78 | } |
| @@ -77,6 +82,9 @@ static inline void kmemleak_free_part(const void *ptr, size_t size) | |||
| 77 | static inline void kmemleak_free_recursive(const void *ptr, unsigned long flags) | 82 | static inline void kmemleak_free_recursive(const void *ptr, unsigned long flags) |
| 78 | { | 83 | { |
| 79 | } | 84 | } |
| 85 | static inline void kmemleak_free_percpu(const void __percpu *ptr) | ||
| 86 | { | ||
| 87 | } | ||
| 80 | static inline void kmemleak_not_leak(const void *ptr) | 88 | static inline void kmemleak_not_leak(const void *ptr) |
| 81 | { | 89 | { |
| 82 | } | 90 | } |
