Re: [patch] mm, mempolicy: make mpol_to_str robust and alwayssucceed

From: David Rientjes
Date: Tue Sep 24 2013 - 23:18:22 EST


On Tue, 24 Sep 2013, Dave Jones wrote:

> > case MPOL_BIND:
> > - /* Fall through */
> > case MPOL_INTERLEAVE:
> > nodes = pol->v.nodes;
> > break;
>
> Any reason not to leave this ?
>
> "missing break" is the 2nd most common thing that coverity picks up.
> Most of them are false positives like the above, but the lack of annotations
> in our source makes it time-consuming to pick through them all to find the
> real bugs.
>

Check out things like drivers/mfd/wm5110-tables.c that do things like

switch (reg) {
case ARIZONA_SOFTWARE_RESET:
case ARIZONA_DEVICE_REVISION:
case ARIZONA_CTRL_IF_SPI_CFG_1:
case ARIZONA_CTRL_IF_I2C1_CFG_1:
case ARIZONA_CTRL_IF_I2C2_CFG_1:
case ARIZONA_CTRL_IF_I2C1_CFG_2:
case ARIZONA_CTRL_IF_I2C2_CFG_2:
...

and that file has over 1,000 case statements. Having a

/* fall through */

for all of them would be pretty annoying.

I don't remember any coding style rule about this (in fact
Documentation/CodingStyle has examples of case statements without such a
comment), I think it's just personal preference so I'll leave it to Andrew
and what he prefers.

(And if he prefers the /* fall through */ then we should ask that it be
added to checkpatch.pl since it warns about a million other things and not
this.)
--
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/