• Dmitry Safonov's avatar
    netlink: Make groups check less stupid in netlink_bind() · 428f944b
    Dmitry Safonov authored
    As Linus noted, the test for 0 is needless, groups type can follow the
    usual kernel style and 8*sizeof(unsigned long) is BITS_PER_LONG:
    
    > The code [..] isn't technically incorrect...
    > But it is stupid.
    > Why stupid? Because the test for 0 is pointless.
    >
    > Just doing
    >        if (nlk->ngroups < 8*sizeof(groups))
    >                groups &= (1UL << nlk->ngroups) - 1;
    >
    > would have been fine and more understandable, since the "mask by shift
    > count" already does the right thing for a ngroups value of 0. Now that
    > test for zero makes me go "what's special about zero?". It turns out
    > that the answer to that is "nothing".
    [..]
    > The type of "groups" is kind of silly too.
    >
    > Yeah, "long unsigned int" isn't _technically_ wrong. But we normally
    > call that type "unsigned long".
    
    Cleanup my piece of pointlessness.
    
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Herbert Xu <herbert@gondor.apana.org.au>
    Cc: Steffen Klassert <steffen.klassert@secunet.com>
    Cc: netdev@vger.kernel.org
    Fairly-blamed-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: default avatarDmitry Safonov <dima@arista.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    428f944b
af_netlink.c 64.7 KB