Skip to content

Commit

Permalink
debugobjects: Fix selftest for static warnings
Browse files Browse the repository at this point in the history
debugobjects is now printing a warning when a fixup for a NOTAVAILABLE
object is run.  This causes the selftest to fail like:

	ODEBUG: selftest warnings failed 4 != 5

We could just increase the number of warnings that the selftest is
expecting to see because that is actually what has changed.  But, it turns
out that fixup_activate() was written with inverted logic and thus a fixup
for a static object returned 1 indicating the object had been fixed, and 0
otherwise.  Fix the logic to be correct and update the counts to reflect
that nothing needed fixing for a static object.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
bebarino authored and torvalds committed Mar 5, 2012
1 parent 9354f1b commit 9f78ff0
Showing 1 changed file with 3 additions and 11 deletions.
14 changes: 3 additions & 11 deletions lib/debugobjects.c
Original file line number Diff line number Diff line change
Expand Up @@ -818,17 +818,9 @@ static int __init fixup_activate(void *addr, enum debug_obj_state state)
if (obj->static_init == 1) {
debug_object_init(obj, &descr_type_test);
debug_object_activate(obj, &descr_type_test);
/*
* Real code should return 0 here ! This is
* not a fixup of some bad behaviour. We
* merily call the debug_init function to keep
* track of the object.
*/
return 1;
} else {
/* Real code needs to emit a warning here */
return 0;
}
return 0;
return 1;

case ODEBUG_STATE_ACTIVE:
debug_object_deactivate(obj, &descr_type_test);
Expand Down Expand Up @@ -967,7 +959,7 @@ static void __init debug_objects_selftest(void)

obj.static_init = 1;
debug_object_activate(&obj, &descr_type_test);
if (check_results(&obj, ODEBUG_STATE_ACTIVE, ++fixups, warnings))
if (check_results(&obj, ODEBUG_STATE_ACTIVE, fixups, warnings))
goto out;
debug_object_init(&obj, &descr_type_test);
if (check_results(&obj, ODEBUG_STATE_INIT, ++fixups, ++warnings))
Expand Down

0 comments on commit 9f78ff0

Please sign in to comment.