• Johannes Berg's avatar
    networking: add and use skb_put_u8() · 634fef61
    Johannes Berg authored
    Joe and Bjørn suggested that it'd be nicer to not have the
    cast in the fairly common case of doing
    	*(u8 *)skb_put(skb, 1) = c;
    
    Add skb_put_u8() for this case, and use it across the code,
    using the following spatch:
    
        @@
        expression SKB, C, S;
        typedef u8;
        identifier fn = {skb_put};
        fresh identifier fn2 = fn ## "_u8";
        @@
        - *(u8 *)fn(SKB, S) = C;
        + fn2(SKB, C);
    
    Note that due to the "S", the spatch isn't perfect, it should
    have checked that S is 1, but there's also places that use a
    sizeof expression like sizeof(var) or sizeof(u8) etc. Turns
    out that nobody ever did something like
    	*(u8 *)skb_put(skb, 2) = c;
    
    which would be wrong anyway since the second byte wouldn't be
    initialized.
    Suggested-by: default avatarJoe Perches <joe@perches.com>
    Suggested-by: Bjørn Mork's avatarBjørn Mork <bjorn@mork.no>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    634fef61
Name
Last commit
Last update
..
Kconfig Loading commit data...
Makefile Loading commit data...
i2c.c Loading commit data...
pn533.c Loading commit data...
pn533.h Loading commit data...
usb.c Loading commit data...