/mm/ |
D | kmemleak.c | 283 struct kmemleak_object *object) in hex_dump_object() argument 285 const u8 *ptr = (const u8 *)object->pointer; in hex_dump_object() 289 len = min_t(size_t, object->size, HEX_MAX_LINES * HEX_ROW_SIZE); in hex_dump_object() 308 static bool color_white(const struct kmemleak_object *object) in color_white() argument 310 return object->count != KMEMLEAK_BLACK && in color_white() 311 object->count < object->min_count; in color_white() 314 static bool color_gray(const struct kmemleak_object *object) in color_gray() argument 316 return object->min_count != KMEMLEAK_BLACK && in color_gray() 317 object->count >= object->min_count; in color_gray() 325 static bool unreferenced_object(struct kmemleak_object *object) in unreferenced_object() argument [all …]
|
D | slub.c | 338 static inline void *get_freepointer(struct kmem_cache *s, void *object) in get_freepointer() argument 340 object = kasan_reset_tag(object); in get_freepointer() 341 return freelist_dereference(s, object + s->offset); in get_freepointer() 344 static void prefetch_freepointer(const struct kmem_cache *s, void *object) in prefetch_freepointer() argument 346 prefetch(object + s->offset); in prefetch_freepointer() 349 static inline void *get_freepointer_safe(struct kmem_cache *s, void *object) in get_freepointer_safe() argument 355 return get_freepointer(s, object); in get_freepointer_safe() 357 object = kasan_reset_tag(object); in get_freepointer_safe() 358 freepointer_addr = (unsigned long)object + s->offset; in get_freepointer_safe() 363 static inline void set_freepointer(struct kmem_cache *s, void *object, void *fp) in set_freepointer() argument [all …]
|
D | slab_common.c | 560 bool kmem_valid_obj(void *object) in kmem_valid_obj() argument 565 if (object < (void *)PAGE_SIZE || !virt_addr_valid(object)) in kmem_valid_obj() 567 page = virt_to_head_page(object); in kmem_valid_obj() 572 static void kmem_obj_info(struct kmem_obj_info *kpp, void *object, struct page *page) in kmem_obj_info() argument 574 if (__kfence_obj_info(kpp, object, page)) in kmem_obj_info() 576 __kmem_obj_info(kpp, object, page); in kmem_obj_info() 594 void kmem_dump_obj(void *object) in kmem_dump_obj() argument 602 if (WARN_ON_ONCE(!virt_addr_valid(object))) in kmem_dump_obj() 604 page = virt_to_head_page(object); in kmem_dump_obj() 609 kmem_obj_info(&kp, object, page); in kmem_dump_obj() [all …]
|
D | util.c | 1111 void mem_dump_obj(void *object) in mem_dump_obj() argument 1115 if (kmem_valid_obj(object)) { in mem_dump_obj() 1116 kmem_dump_obj(object); in mem_dump_obj() 1120 if (vmalloc_dump_obj(object)) in mem_dump_obj() 1123 if (is_vmalloc_addr(object)) in mem_dump_obj() 1125 else if (virt_addr_valid(object)) in mem_dump_obj() 1127 else if (object == NULL) in mem_dump_obj() 1129 else if (object == ZERO_SIZE_PTR) in mem_dump_obj()
|
D | slab.h | 235 extern void print_tracking(struct kmem_cache *s, void *object); 246 static inline void print_tracking(struct kmem_cache *s, void *object) in print_tracking() argument 677 void __kmem_obj_info(struct kmem_obj_info *kpp, void *object, struct page *page);
|
D | slob.c | 465 void __kmem_obj_info(struct kmem_obj_info *kpp, void *object, struct page *page) in __kmem_obj_info() argument 467 kpp->kp_ptr = object; in __kmem_obj_info()
|
D | slab.c | 3661 void __kmem_obj_info(struct kmem_obj_info *kpp, void *object, struct page *page) in __kmem_obj_info() argument 3667 kpp->kp_ptr = object; in __kmem_obj_info() 3671 objp = object - obj_offset(cachep); in __kmem_obj_info()
|
D | vmalloc.c | 3906 bool vmalloc_dump_obj(void *object) in vmalloc_dump_obj() argument 3908 void *objp = (void *)PAGE_ALIGN((unsigned long)object); in vmalloc_dump_obj()
|
/mm/kasan/ |
D | common.c | 133 void __kasan_unpoison_object_data(struct kmem_cache *cache, void *object) in __kasan_unpoison_object_data() argument 135 kasan_unpoison(object, cache->object_size, false); in __kasan_unpoison_object_data() 138 void __kasan_poison_object_data(struct kmem_cache *cache, void *object) in __kasan_poison_object_data() argument 140 kasan_poison(object, round_up(cache->object_size, KASAN_GRANULE_SIZE), in __kasan_poison_object_data() 159 const void *object, bool init) in assign_tag() argument 174 return (u8)obj_to_index(cache, virt_to_head_page(object), (void *)object); in assign_tag() 180 return init ? kasan_random_tag() : get_tag(object); in assign_tag() 185 const void *object) in __kasan_init_slab_obj() argument 189 kasan_init_object_meta(cache, object); in __kasan_init_slab_obj() 192 object = set_tag(object, assign_tag(cache, object, true)); in __kasan_init_slab_obj() [all …]
|
D | generic.c | 428 const void *object) in kasan_get_alloc_meta() argument 432 return (void *)object + cache->kasan_info.alloc_meta_offset; in kasan_get_alloc_meta() 436 const void *object) in kasan_get_free_meta() argument 441 return (void *)object + cache->kasan_info.free_meta_offset; in kasan_get_free_meta() 444 void kasan_init_object_meta(struct kmem_cache *cache, const void *object) in kasan_init_object_meta() argument 448 alloc_meta = kasan_get_alloc_meta(cache, object); in kasan_init_object_meta() 469 void *object; in __kasan_record_aux_stack() local 475 object = nearest_obj(cache, page, addr); in __kasan_record_aux_stack() 476 alloc_meta = kasan_get_alloc_meta(cache, object); in __kasan_record_aux_stack() 494 void kasan_save_alloc_info(struct kmem_cache *cache, void *object, gfp_t flags) in kasan_save_alloc_info() argument [all …]
|
D | kasan.h | 215 void *object; member 348 void kasan_print_aux_stacks(struct kmem_cache *cache, const void *object); 350 static inline void kasan_print_aux_stacks(struct kmem_cache *cache, const void *object) { } in kasan_print_aux_stacks() argument 355 void kasan_report_invalid_free(void *object, unsigned long ip, enum kasan_report_type type); 361 void kasan_init_object_meta(struct kmem_cache *cache, const void *object); 363 const void *object); 365 const void *object); 368 static inline void kasan_init_object_meta(struct kmem_cache *cache, const void *object) { } in kasan_init_object_meta() argument 373 void kasan_save_alloc_info(struct kmem_cache *cache, void *object, gfp_t flags); 374 void kasan_save_free_info(struct kmem_cache *cache, void *object); [all …]
|
D | tags.c | 95 static void save_stack_info(struct kmem_cache *cache, void *object, in save_stack_info() argument 131 smp_store_release(&entry->ptr, (s64)object); in save_stack_info() 136 void kasan_save_alloc_info(struct kmem_cache *cache, void *object, gfp_t flags) in kasan_save_alloc_info() argument 138 save_stack_info(cache, object, flags, false); in kasan_save_alloc_info() 141 void kasan_save_free_info(struct kmem_cache *cache, void *object) in kasan_save_free_info() argument 143 save_stack_info(cache, object, GFP_NOWAIT, true); in kasan_save_free_info()
|
D | report.c | 241 void *object) in describe_object_addr() argument 244 unsigned long object_addr = (unsigned long)object; in describe_object_addr() 250 object, cache->name, cache->object_size); in describe_object_addr() 281 kasan_print_aux_stacks(info->cache, info->object); in describe_object_stacks() 288 describe_object_addr(addr, info->cache, info->object); in describe_object() 315 if (info->cache && info->object) { in print_address_description() 444 info->object = nearest_obj(info->cache, page, addr); in complete_report_info() 446 info->cache = info->object = NULL; in complete_report_info()
|
D | report_generic.c | 138 if (!info->cache || !info->object) in kasan_complete_mode_report_info() 141 alloc_meta = kasan_get_alloc_meta(info->cache, info->object); in kasan_complete_mode_report_info() 146 if (*(u8 *)kasan_mem_to_shadow(info->object) == KASAN_SLAB_FREETRACK) { in kasan_complete_mode_report_info() 148 free_meta = kasan_get_free_meta(info->cache, info->object); in kasan_complete_mode_report_info() 159 void kasan_print_aux_stacks(struct kmem_cache *cache, const void *object) in kasan_print_aux_stacks() argument 163 alloc_meta = kasan_get_alloc_meta(cache, object); in kasan_print_aux_stacks()
|
D | quarantine.c | 145 void *object = qlink_to_object(qlink, cache); in qlink_free() local 146 struct kasan_free_meta *meta = kasan_get_free_meta(cache, object); in qlink_free() 166 *(u8 *)kasan_mem_to_shadow(object) = KASAN_SLAB_FREE; in qlink_free() 168 ___cache_free(cache, object, _THIS_IP_); in qlink_free() 193 bool kasan_quarantine_put(struct kmem_cache *cache, void *object) in kasan_quarantine_put() argument 198 struct kasan_free_meta *meta = kasan_get_free_meta(cache, object); in kasan_quarantine_put()
|
D | report_tags.c | 40 if ((!info->cache || !info->object) && !info->bug_type) { in kasan_complete_mode_report_info() 67 if (kasan_reset_tag(ptr) != info->object || in kasan_complete_mode_report_info()
|
D | kasan_test.c | 918 static void empty_cache_ctor(void *object) { } in empty_cache_ctor() argument
|
/mm/kfence/ |
D | report.c | 288 bool __kfence_obj_info(struct kmem_obj_info *kpp, void *object, struct page *page) in __kfence_obj_info() argument 290 struct kfence_metadata *meta = addr_to_metadata((unsigned long)object); in __kfence_obj_info() 300 kpp->kp_ptr = object; in __kfence_obj_info()
|