lkml.org 
[lkml]   [2015]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH tip v5 2/5] kbuild: Add option to turn incompatible pointer check into error
From
Date
Hi Paul,

On 11/30/2015 06:38 PM, Paul E. McKenney wrote:
> On Mon, Nov 30, 2015 at 04:26:03PM +0100, Daniel Wagner wrote:
>> On 11/30/2015 02:38 PM, Daniel Wagner wrote:
>>> 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. Though for the beginning let's introduce it
>>> as options in the kernel hacking section.
>>
>> The kbuild bot found one problem for allmodconfig. I just send a fix for
>> it ("regmap: Fix leftover from struct reg_default to struct reg_sequence
>> change").
>
> This will result in an updated series, correct?

Not necessarily. This patch just points very verbose the incorrect
pointer usage in regmap_register_path() users with allmodconfig. This
series itself should be okay (unless I missed something).

cheers,
daniel


\
 
 \ /
  Last update: 2015-11-30 20:21    [W:0.044 / U:1.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site