Re: [PATCH 1/2] irq_flags_t: intro and core annotations

From: Jan Engelhardt
Date: Thu Oct 25 2007 - 11:40:22 EST


Hi,

On Oct 21 2007, Alexey Dobriyan wrote:
>
>One of type of bugs steadily being fought is the following one:
>
> unsigned int flags;
> spin_lock_irqsave(&lock, flags);
>
>where "flags" should be "unsigned long". Here is far from complete list
>of commits fixing such bugs:
>

How about making spin_lock_irqsave actually take a pointer to flags?
(Which would be the logical choice if it were a function and not a
macro...) That would flag up all violations ("without cast to different
pointer" or so) while usually not breaking compilation.

Of course, irq_flags_t is probably the best long-term solution if one
wants to hide a struct. (Even then perhaps, use a pointer instead?)
-
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/