Re: [RFC PATCH] rcu: Add sparse check for RCU_INIT_POINTER()

From: Pranith Kumar
Date: Thu Sep 25 2014 - 14:39:35 EST


On Thu, Sep 25, 2014 at 2:10 PM, <josh@xxxxxxxxxxxxxxxx> wrote:
> On Thu, Sep 25, 2014 at 02:03:34PM -0400, Pranith Kumar wrote:
>> Add a sparse check when RCU_INIT_POINTER() is used to assign a non __rcu
>> annotated pointer.
>>
>> Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx>
>
> Have you checked if this introduces a significant number of new warnings
> in the kernel?
>
> If not:
> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
>


I tested the above patch on a small test case where we are assigning
to a non __rcu annotated pointer and sparse does warn in that case.

I tried doing that and there were too many address space warnings
(maybe?) not related to __rcu annotation.

May be a diff of previous warnings and later warnings should show up
if any new warnings are being generated...

diff before.log after.log

> drivers/md/dm.c:2239:9: error: incompatible types in comparison expression (different address spaces)

Looking at this it shows that RCU_INIT_POINTER() is being used on a
non __rcu pointer. I will send in a patch fixing that.

Thanks!
--
Pranith
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/