]>
git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blob - include/linux/kmemcheck.h
1 #ifndef LINUX_KMEMCHECK_H
2 #define LINUX_KMEMCHECK_H
4 #include <linux/mm_types.h>
5 #include <linux/types.h>
7 #ifdef CONFIG_KMEMCHECK
8 extern int kmemcheck_enabled
;
10 /* The slab-related functions. */
11 void kmemcheck_alloc_shadow(struct kmem_cache
*s
, gfp_t flags
, int node
,
12 struct page
*page
, int order
);
13 void kmemcheck_free_shadow(struct kmem_cache
*s
, struct page
*page
, int order
);
14 void kmemcheck_slab_alloc(struct kmem_cache
*s
, gfp_t gfpflags
, void *object
,
16 void kmemcheck_slab_free(struct kmem_cache
*s
, void *object
, size_t size
);
18 void kmemcheck_show_pages(struct page
*p
, unsigned int n
);
19 void kmemcheck_hide_pages(struct page
*p
, unsigned int n
);
21 bool kmemcheck_page_is_tracked(struct page
*p
);
23 void kmemcheck_mark_unallocated(void *address
, unsigned int n
);
24 void kmemcheck_mark_uninitialized(void *address
, unsigned int n
);
25 void kmemcheck_mark_initialized(void *address
, unsigned int n
);
26 void kmemcheck_mark_freed(void *address
, unsigned int n
);
28 void kmemcheck_mark_unallocated_pages(struct page
*p
, unsigned int n
);
29 void kmemcheck_mark_uninitialized_pages(struct page
*p
, unsigned int n
);
31 int kmemcheck_show_addr(unsigned long address
);
32 int kmemcheck_hide_addr(unsigned long address
);
34 #define kmemcheck_enabled 0
37 kmemcheck_alloc_shadow(struct kmem_cache
*s
, gfp_t flags
, int node
,
38 struct page
*page
, int order
)
43 kmemcheck_free_shadow(struct kmem_cache
*s
, struct page
*page
, int order
)
48 kmemcheck_slab_alloc(struct kmem_cache
*s
, gfp_t gfpflags
, void *object
,
53 static inline void kmemcheck_slab_free(struct kmem_cache
*s
, void *object
,
58 static inline bool kmemcheck_page_is_tracked(struct page
*p
)
63 static inline void kmemcheck_mark_unallocated(void *address
, unsigned int n
)
67 static inline void kmemcheck_mark_uninitialized(void *address
, unsigned int n
)
71 static inline void kmemcheck_mark_initialized(void *address
, unsigned int n
)
75 static inline void kmemcheck_mark_freed(void *address
, unsigned int n
)
78 #endif /* CONFIG_KMEMCHECK */
80 #endif /* LINUX_KMEMCHECK_H */