Messages in this thread | | | Date | Tue, 8 Mar 2016 10:19:41 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH] kbuild: Add option to turn incompatible pointer check into error |
| |
* Thomas Gleixner <tglx@linutronix.de> wrote:
> On Tue, 8 Mar 2016, Daniel Wagner wrote: > > > From: Daniel Wagner <daniel.wagner@bmw-carit.de> > > > > With the introduction of the simple wait API we have two very > > similar APIs in the kernel. For example wake_up() and swake_up() > > is only one character away. Although the compiler will warn > > happily the wrong usage it keeps on going an even links the kernel. > > Thomas and Peter would rather like to see early missuses reported > > as error early on. > > > > In a first attempt we tried to wrap all swait and wait calls > > into a macro which has an compile time type assertion. The result > > was pretty ugly and wasn't able to catch all wrong usages. > > woken_wake_function(), autoremove_wake_function() and wake_bit_function() > > are assigned as function pointers. Wrapping them with a macro around is > > not possible. Prefixing them with '_' was also not a real option > > because there some users in the kernel which do use them as well. > > All in all this attempt looked to intrusive and too ugly. > > > > An alternative is to turn the pointer type check into an error which > > catches wrong type uses. Obviously not only the swait/wait ones. That > > isn't a bad thing either. > > > > Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de> > > Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> > > Cc: Thomas Gleixner <tglx@linutronix.de> > > Acked-by: Thomas Gleixner <tglx@linutronix.de>
Note that there will be a few build failures triggered by this, for example this fix from linux-next is needed:
> commit db9b60400f9253c25ae639797df2d0ff7a35d9d8 > Author: Sudip Mukherjee <sudipm.mukherjee@gmail.com> > Date: Tue Feb 2 11:35:55 2016 +0530 > > drm/gma500: remove helper function
Other than that:
Acked-by: Ingo Molnar <mingo@kernel.org>
Thanks,
Ingo
| |