diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2009-07-07 10:33:00 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2009-07-08 14:25:14 +0100 |
commit | 53238a60dd4a679f6fe5613a7ed46899587205cf (patch) | |
tree | d2224ecfb18f7e9c6cc6fb2a48d81a87e5d5b62a /include | |
parent | e4f7c0b44a8ac8935f223195af9ea637d0c08091 (diff) | |
download | blackbird-op-linux-53238a60dd4a679f6fe5613a7ed46899587205cf.tar.gz blackbird-op-linux-53238a60dd4a679f6fe5613a7ed46899587205cf.zip |
kmemleak: Allow partial freeing of memory blocks
Functions like free_bootmem() are allowed to free only part of a memory
block. This patch adds support for this via the kmemleak_free_part()
callback which removes the original object and creates one or two
additional objects as a result of the memory block split.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/kmemleak.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/kmemleak.h b/include/linux/kmemleak.h index 7796aed6cdd5..6a63807f714e 100644 --- a/include/linux/kmemleak.h +++ b/include/linux/kmemleak.h @@ -27,6 +27,7 @@ extern void kmemleak_init(void); extern void kmemleak_alloc(const void *ptr, size_t size, int min_count, gfp_t gfp); extern void kmemleak_free(const void *ptr); +extern void kmemleak_free_part(const void *ptr, size_t size); extern void kmemleak_padding(const void *ptr, unsigned long offset, size_t size); extern void kmemleak_not_leak(const void *ptr); @@ -71,6 +72,9 @@ static inline void kmemleak_alloc_recursive(const void *ptr, size_t size, static inline void kmemleak_free(const void *ptr) { } +static inline void kmemleak_free_part(const void *ptr, size_t size) +{ +} static inline void kmemleak_free_recursive(const void *ptr, unsigned long flags) { } |