Re: [PATCH] check spinlock_t/rwlock_t argument type on non-SMPbuilds

From: Ingo Molnar
Date: Fri Jul 03 2009 - 03:38:25 EST



* David Kilroy <kilroyd@xxxxxxxxxxxxxx> wrote:

> When writing code for UP without CONFIG_DEBUG_SPINLOCK it's easy
> to get the first argument to the spinlock/rwlock functions wrong.
> This is because the parameter is not actually used in this
> configuration.
>
> Typically you will only find out it's wrong
> * by rebuilding with CONFIG_SMP or CONFIG_DEBUG_SPINLOCK
> * after you've submitted your beautiful patch series.
>
> The first means a long wait, and the latter is a bit late.
>
> Add typechecking on the first argument of these macro functions.
> Note that since the typecheck now references the variable, the
> explicit read is redundant and can be removed.
>
> This change causes compiler warnings in net/ipv4/route.c, as this
> passes NULL as the first argument in the UP configuration. Simply
> cast this.

Wondering - can the wrappers be moved from CPP land to C land by
turning them into inlines? (i havent checked all usages so there
might be some surprises, but by and large it ought to be possible.)

Ingo
--
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/