diff options
Diffstat (limited to 'mm/kasan/kasan.h')
-rw-r--r-- | mm/kasan/kasan.h | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h index 31972cdba433..e5c2181fee6f 100644 --- a/mm/kasan/kasan.h +++ b/mm/kasan/kasan.h | |||
@@ -59,13 +59,6 @@ struct kasan_global { | |||
59 | * Structures to keep alloc and free tracks * | 59 | * Structures to keep alloc and free tracks * |
60 | */ | 60 | */ |
61 | 61 | ||
62 | enum kasan_state { | ||
63 | KASAN_STATE_INIT, | ||
64 | KASAN_STATE_ALLOC, | ||
65 | KASAN_STATE_QUARANTINE, | ||
66 | KASAN_STATE_FREE | ||
67 | }; | ||
68 | |||
69 | #define KASAN_STACK_DEPTH 64 | 62 | #define KASAN_STACK_DEPTH 64 |
70 | 63 | ||
71 | struct kasan_track { | 64 | struct kasan_track { |
@@ -74,9 +67,8 @@ struct kasan_track { | |||
74 | }; | 67 | }; |
75 | 68 | ||
76 | struct kasan_alloc_meta { | 69 | struct kasan_alloc_meta { |
77 | struct kasan_track track; | 70 | struct kasan_track alloc_track; |
78 | u32 state : 2; /* enum kasan_state */ | 71 | struct kasan_track free_track; |
79 | u32 alloc_size : 30; | ||
80 | }; | 72 | }; |
81 | 73 | ||
82 | struct qlist_node { | 74 | struct qlist_node { |
@@ -87,7 +79,6 @@ struct kasan_free_meta { | |||
87 | * Otherwise it might be used for the allocator freelist. | 79 | * Otherwise it might be used for the allocator freelist. |
88 | */ | 80 | */ |
89 | struct qlist_node quarantine_link; | 81 | struct qlist_node quarantine_link; |
90 | struct kasan_track track; | ||
91 | }; | 82 | }; |
92 | 83 | ||
93 | struct kasan_alloc_meta *get_alloc_info(struct kmem_cache *cache, | 84 | struct kasan_alloc_meta *get_alloc_info(struct kmem_cache *cache, |
@@ -108,6 +99,8 @@ static inline bool kasan_report_enabled(void) | |||
108 | 99 | ||
109 | void kasan_report(unsigned long addr, size_t size, | 100 | void kasan_report(unsigned long addr, size_t size, |
110 | bool is_write, unsigned long ip); | 101 | bool is_write, unsigned long ip); |
102 | void kasan_report_double_free(struct kmem_cache *cache, void *object, | ||
103 | s8 shadow); | ||
111 | 104 | ||
112 | #if defined(CONFIG_SLAB) || defined(CONFIG_SLUB) | 105 | #if defined(CONFIG_SLAB) || defined(CONFIG_SLUB) |
113 | void quarantine_put(struct kasan_free_meta *info, struct kmem_cache *cache); | 106 | void quarantine_put(struct kasan_free_meta *info, struct kmem_cache *cache); |