Lines Matching refs:addr

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