Lines Matching refs:addr

191 static struct debug_obj *lookup_object(void *addr, struct debug_bucket *b)
198 if (obj->object == addr)
223 alloc_object(void *addr, struct debug_bucket *b, const struct debug_obj_descr *descr)
273 obj->object = addr;
491 static struct debug_bucket *get_bucket(unsigned long addr)
495 hash = hash_long((addr >> ODEBUG_CHUNK_SHIFT), ODEBUG_HASH_BITS);
530 debug_object_fixup(bool (*fixup)(void *addr, enum debug_obj_state state),
531 void * addr, enum debug_obj_state state)
533 if (fixup && fixup(addr, state)) {
540 static void debug_object_is_on_stack(void *addr, int onstack)
548 is_on_stack = object_is_on_stack(addr);
554 pr_warn("object %p is on stack %p, but NOT annotated.\n", addr,
557 pr_warn("object %p is NOT on stack %p, but annotated.\n", addr,
563 static struct debug_obj *lookup_object_or_alloc(void *addr, struct debug_bucket *b,
567 struct debug_obj *obj = lookup_object(addr, b);
584 if (!descr->is_static_object || !descr->is_static_object(addr))
590 obj = alloc_object(addr, b, descr);
593 debug_object_is_on_stack(addr, onstack);
613 __debug_object_init(void *addr, const struct debug_obj_descr *descr, int onstack)
621 db = get_bucket((unsigned long) addr);
625 obj = lookup_object_or_alloc(addr, db, descr, onstack, false);
648 debug_object_fixup(descr->fixup_init, addr, o.state);
653 * @addr: address of the object
656 void debug_object_init(void *addr, const struct debug_obj_descr *descr)
661 __debug_object_init(addr, descr, 0);
668 * @addr: address of the object
671 void debug_object_init_on_stack(void *addr, const struct debug_obj_descr *descr)
676 __debug_object_init(addr, descr, 1);
682 * @addr: address of the object
686 int debug_object_activate(void *addr, const struct debug_obj_descr *descr)
688 struct debug_obj o = { .object = addr, .state = ODEBUG_STATE_NOTAVAILABLE, .descr = descr };
698 db = get_bucket((unsigned long) addr);
702 obj = lookup_object_or_alloc(addr, db, descr, false, true);
729 if (debug_object_fixup(descr->fixup_activate, addr, o.state))
740 * @addr: address of the object
743 void debug_object_deactivate(void *addr, const struct debug_obj_descr *descr)
745 struct debug_obj o = { .object = addr, .state = ODEBUG_STATE_NOTAVAILABLE, .descr = descr };
753 db = get_bucket((unsigned long) addr);
757 obj = lookup_object(addr, db);
783 * @addr: address of the object
786 void debug_object_destroy(void *addr, const struct debug_obj_descr *descr)
795 db = get_bucket((unsigned long) addr);
799 obj = lookup_object(addr, db);
824 debug_object_fixup(descr->fixup_destroy, addr, o.state);
830 * @addr: address of the object
833 void debug_object_free(void *addr, const struct debug_obj_descr *descr)
842 db = get_bucket((unsigned long) addr);
846 obj = lookup_object(addr, db);
866 debug_object_fixup(descr->fixup_free, addr, o.state);
872 * @addr: address of the object
875 void debug_object_assert_init(void *addr, const struct debug_obj_descr *descr)
877 struct debug_obj o = { .object = addr, .state = ODEBUG_STATE_NOTAVAILABLE, .descr = descr };
887 db = get_bucket((unsigned long) addr);
890 obj = lookup_object_or_alloc(addr, db, descr, false, true);
903 debug_object_fixup(descr->fixup_assert_init, addr, ODEBUG_STATE_NOTAVAILABLE);
909 * @addr: address of the object
915 debug_object_active_state(void *addr, const struct debug_obj_descr *descr,
918 struct debug_obj o = { .object = addr, .state = ODEBUG_STATE_NOTAVAILABLE, .descr = descr };
926 db = get_bucket((unsigned long) addr);
930 obj = lookup_object(addr, db);
1070 static bool __init is_static_object(void *addr)
1072 struct self_test *obj = addr;
1081 static bool __init fixup_init(void *addr, enum debug_obj_state state)
1083 struct self_test *obj = addr;
1100 static bool __init fixup_activate(void *addr, enum debug_obj_state state)
1102 struct self_test *obj = addr;
1121 static bool __init fixup_destroy(void *addr, enum debug_obj_state state)
1123 struct self_test *obj = addr;
1139 static bool __init fixup_free(void *addr, enum debug_obj_state state)
1141 struct self_test *obj = addr;
1154 check_results(void *addr, enum debug_obj_state state, int fixups, int warnings)
1161 db = get_bucket((unsigned long) addr);
1165 obj = lookup_object(addr, db);