Messages in this thread |  | | Date | Sat, 14 Jan 2012 18:46:26 -0800 | | From | Stephen Boyd <> | | Subject | Re: + debugobjects-fix-selftest-for-static-warnings.patch added to -mm tree |
| |
On 12/15/11 13:35, akpm@linux-foundation.org wrote: > The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ > > ------------------------------------------------------ > From: Stephen Boyd <sboyd@codeaurora.org> > Subject: debugobjects: Fix selftest for static warnings > > debugobjects is now printing a warning when a fixup for a NOTAVAILABLE > object is run. This causes the selftest to fail like: > > [ 0.000000] 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> > --- >
Can this be picked up or merged into 3.3-rc1? Linus' tree has a broken selftest without this change.
> lib/debugobjects.c | 14 +++----------- > 1 file changed, 3 insertions(+), 11 deletions(-) > > diff -puN lib/debugobjects.c~debugobjects-fix-selftest-for-static-warnings lib/debugobjects.c > --- a/lib/debugobjects.c~debugobjects-fix-selftest-for-static-warnings > +++ a/lib/debugobjects.c > @@ -818,17 +818,9 @@ static int __init fixup_activate(void *a > 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); > @@ -967,7 +959,7 @@ static void __init debug_objects_selftes > > 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)) > _
-- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
|  |