* @debug_hint:                function returning address, which have associated
  *                     kernel symbol, to allow identify the object
  * @fixup_init:                fixup function, which is called when the init check
- *                     fails
+ *                     fails. All fixup functions must return true if fixup
+ *                     was successful, otherwise return false
  * @fixup_activate:    fixup function, which is called when the activate check
  *                     fails
  * @fixup_destroy:     fixup function, which is called when the destroy check
  */
 struct debug_obj_descr {
        const char              *name;
-       void *(*debug_hint)     (void *addr);
-       int (*fixup_init)       (void *addr, enum debug_obj_state state);
-       int (*fixup_activate)   (void *addr, enum debug_obj_state state);
-       int (*fixup_destroy)    (void *addr, enum debug_obj_state state);
-       int (*fixup_free)       (void *addr, enum debug_obj_state state);
-       int (*fixup_assert_init)(void *addr, enum debug_obj_state state);
+       void *(*debug_hint)(void *addr);
+       bool (*fixup_init)(void *addr, enum debug_obj_state state);
+       bool (*fixup_activate)(void *addr, enum debug_obj_state state);
+       bool (*fixup_destroy)(void *addr, enum debug_obj_state state);
+       bool (*fixup_free)(void *addr, enum debug_obj_state state);
+       bool (*fixup_assert_init)(void *addr, enum debug_obj_state state);
 };
 
 #ifdef CONFIG_DEBUG_OBJECTS
 
  * Try to repair the damage, so we have a better chance to get useful
  * debug output.
  */
-static int
-debug_object_fixup(int (*fixup)(void *addr, enum debug_obj_state state),
+static bool
+debug_object_fixup(bool (*fixup)(void *addr, enum debug_obj_state state),
                   void * addr, enum debug_obj_state state)
 {
-       int fixed = 0;
-
-       if (fixup)
-               fixed = fixup(addr, state);
-       debug_objects_fixups += fixed;
-       return fixed;
+       if (fixup && fixup(addr, state)) {
+               debug_objects_fixups++;
+               return true;
+       }
+       return false;
 }
 
 static void debug_object_is_on_stack(void *addr, int onstack)
  * fixup_init is called when:
  * - an active object is initialized
  */
-static int __init fixup_init(void *addr, enum debug_obj_state state)
+static bool __init fixup_init(void *addr, enum debug_obj_state state)
 {
        struct self_test *obj = addr;
 
        case ODEBUG_STATE_ACTIVE:
                debug_object_deactivate(obj, &descr_type_test);
                debug_object_init(obj, &descr_type_test);
-               return 1;
+               return true;
        default:
-               return 0;
+               return false;
        }
 }
 
  * - an active object is activated
  * - an unknown object is activated (might be a statically initialized object)
  */
-static int __init fixup_activate(void *addr, enum debug_obj_state state)
+static bool __init fixup_activate(void *addr, enum debug_obj_state state)
 {
        struct self_test *obj = addr;
 
                if (obj->static_init == 1) {
                        debug_object_init(obj, &descr_type_test);
                        debug_object_activate(obj, &descr_type_test);
-                       return 0;
+                       return false;
                }
-               return 1;
+               return true;
 
        case ODEBUG_STATE_ACTIVE:
                debug_object_deactivate(obj, &descr_type_test);
                debug_object_activate(obj, &descr_type_test);
-               return 1;
+               return true;
 
        default:
-               return 0;
+               return false;
        }
 }
 
  * fixup_destroy is called when:
  * - an active object is destroyed
  */
-static int __init fixup_destroy(void *addr, enum debug_obj_state state)
+static bool __init fixup_destroy(void *addr, enum debug_obj_state state)
 {
        struct self_test *obj = addr;
 
        case ODEBUG_STATE_ACTIVE:
                debug_object_deactivate(obj, &descr_type_test);
                debug_object_destroy(obj, &descr_type_test);
-               return 1;
+               return true;
        default:
-               return 0;
+               return false;
        }
 }
 
  * fixup_free is called when:
  * - an active object is freed
  */
-static int __init fixup_free(void *addr, enum debug_obj_state state)
+static bool __init fixup_free(void *addr, enum debug_obj_state state)
 {
        struct self_test *obj = addr;
 
        case ODEBUG_STATE_ACTIVE:
                debug_object_deactivate(obj, &descr_type_test);
                debug_object_free(obj, &descr_type_test);
-               return 1;
+               return true;
        default:
-               return 0;
+               return false;
        }
 }