Lines Matching refs:addr
188 static struct debug_obj *lookup_object(void *addr, struct debug_bucket *b) in lookup_object() argument
195 if (obj->object == addr) in lookup_object()
220 alloc_object(void *addr, struct debug_bucket *b, const struct debug_obj_descr *descr) in alloc_object() argument
270 obj->object = addr; in alloc_object()
488 static struct debug_bucket *get_bucket(unsigned long addr) in get_bucket() argument
492 hash = hash_long((addr >> ODEBUG_CHUNK_SHIFT), ODEBUG_HASH_BITS); in get_bucket()
527 debug_object_fixup(bool (*fixup)(void *addr, enum debug_obj_state state), in debug_object_fixup() argument
528 void * addr, enum debug_obj_state state) in debug_object_fixup()
530 if (fixup && fixup(addr, state)) { in debug_object_fixup()
537 static void debug_object_is_on_stack(void *addr, int onstack) in debug_object_is_on_stack() argument
545 is_on_stack = object_is_on_stack(addr); in debug_object_is_on_stack()
551 pr_warn("object %p is on stack %p, but NOT annotated.\n", addr, in debug_object_is_on_stack()
554 pr_warn("object %p is NOT on stack %p, but annotated.\n", addr, in debug_object_is_on_stack()
560 static struct debug_obj *lookup_object_or_alloc(void *addr, struct debug_bucket *b, in lookup_object_or_alloc() argument
564 struct debug_obj *obj = lookup_object(addr, b); in lookup_object_or_alloc()
581 if (!descr->is_static_object || !descr->is_static_object(addr)) in lookup_object_or_alloc()
587 obj = alloc_object(addr, b, descr); in lookup_object_or_alloc()
590 debug_object_is_on_stack(addr, onstack); in lookup_object_or_alloc()
621 __debug_object_init(void *addr, const struct debug_obj_descr *descr, int onstack) in __debug_object_init() argument
629 db = get_bucket((unsigned long) addr); in __debug_object_init()
633 obj = lookup_object_or_alloc(addr, db, descr, onstack, false); in __debug_object_init()
656 debug_object_fixup(descr->fixup_init, addr, o.state); in __debug_object_init()
664 void debug_object_init(void *addr, const struct debug_obj_descr *descr) in debug_object_init() argument
669 __debug_object_init(addr, descr, 0); in debug_object_init()
679 void debug_object_init_on_stack(void *addr, const struct debug_obj_descr *descr) in debug_object_init_on_stack() argument
684 __debug_object_init(addr, descr, 1); in debug_object_init_on_stack()
694 int debug_object_activate(void *addr, const struct debug_obj_descr *descr) in debug_object_activate() argument
696 struct debug_obj o = { .object = addr, .state = ODEBUG_STATE_NOTAVAILABLE, .descr = descr }; in debug_object_activate()
706 db = get_bucket((unsigned long) addr); in debug_object_activate()
710 obj = lookup_object_or_alloc(addr, db, descr, false, true); in debug_object_activate()
737 if (debug_object_fixup(descr->fixup_activate, addr, o.state)) in debug_object_activate()
751 void debug_object_deactivate(void *addr, const struct debug_obj_descr *descr) in debug_object_deactivate() argument
753 struct debug_obj o = { .object = addr, .state = ODEBUG_STATE_NOTAVAILABLE, .descr = descr }; in debug_object_deactivate()
761 db = get_bucket((unsigned long) addr); in debug_object_deactivate()
765 obj = lookup_object(addr, db); in debug_object_deactivate()
794 void debug_object_destroy(void *addr, const struct debug_obj_descr *descr) in debug_object_destroy() argument
803 db = get_bucket((unsigned long) addr); in debug_object_destroy()
807 obj = lookup_object(addr, db); in debug_object_destroy()
832 debug_object_fixup(descr->fixup_destroy, addr, o.state); in debug_object_destroy()
841 void debug_object_free(void *addr, const struct debug_obj_descr *descr) in debug_object_free() argument
850 db = get_bucket((unsigned long) addr); in debug_object_free()
854 obj = lookup_object(addr, db); in debug_object_free()
874 debug_object_fixup(descr->fixup_free, addr, o.state); in debug_object_free()
883 void debug_object_assert_init(void *addr, const struct debug_obj_descr *descr) in debug_object_assert_init() argument
885 struct debug_obj o = { .object = addr, .state = ODEBUG_STATE_NOTAVAILABLE, .descr = descr }; in debug_object_assert_init()
895 db = get_bucket((unsigned long) addr); in debug_object_assert_init()
898 obj = lookup_object_or_alloc(addr, db, descr, false, true); in debug_object_assert_init()
911 debug_object_fixup(descr->fixup_assert_init, addr, ODEBUG_STATE_NOTAVAILABLE); in debug_object_assert_init()
923 debug_object_active_state(void *addr, const struct debug_obj_descr *descr, in debug_object_active_state() argument
926 struct debug_obj o = { .object = addr, .state = ODEBUG_STATE_NOTAVAILABLE, .descr = descr }; in debug_object_active_state()
934 db = get_bucket((unsigned long) addr); in debug_object_active_state()
938 obj = lookup_object(addr, db); in debug_object_active_state()
1078 static bool __init is_static_object(void *addr) in is_static_object() argument
1080 struct self_test *obj = addr; in is_static_object()
1089 static bool __init fixup_init(void *addr, enum debug_obj_state state) in fixup_init() argument
1091 struct self_test *obj = addr; in fixup_init()
1108 static bool __init fixup_activate(void *addr, enum debug_obj_state state) in fixup_activate() argument
1110 struct self_test *obj = addr; in fixup_activate()
1129 static bool __init fixup_destroy(void *addr, enum debug_obj_state state) in fixup_destroy() argument
1131 struct self_test *obj = addr; in fixup_destroy()
1147 static bool __init fixup_free(void *addr, enum debug_obj_state state) in fixup_free() argument
1149 struct self_test *obj = addr; in fixup_free()
1162 check_results(void *addr, enum debug_obj_state state, int fixups, int warnings) in check_results() argument
1169 db = get_bucket((unsigned long) addr); in check_results()
1173 obj = lookup_object(addr, db); in check_results()