]> err.no Git - linux-2.6/commit
[INET]: Change protocol field in struct inet_protosw to u16
authorArnaldo Carvalho de Melo <acme@mandriva.com>
Tue, 28 Nov 2006 05:11:33 +0000 (03:11 -0200)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sun, 3 Dec 2006 05:30:55 +0000 (21:30 -0800)
commitee41e2dff1a0ac548f12871f4bb23fe9e69e13eb
treed71027b2e7d539bc43076da8d39f3e73e4ed4414
parent3a137d2065571864be0301b9ebd72ddb01060997
[INET]: Change protocol field in struct inet_protosw to u16

[acme@newtoy net-2.6.20]$ pahole /tmp/tcp_ipv6.o inet_protosw
/* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/net/protocol.h:69 */
struct inet_protosw {
        struct list_head           list;                 /*     0     8 */
        short unsigned int         type;                 /*     8     2 */

        /* XXX 2 bytes hole, try to pack */

        int                        protocol;             /*    12     4 */
        struct proto *             prot;                 /*    16     4 */
        const struct proto_ops  *  ops;                  /*    20     4 */
        int                        capability;           /*    24     4 */
        char                       no_check;             /*    28     1 */
        unsigned char              flags;                /*    29     1 */
}; /* size: 32, sum members: 28, holes: 1, sum holes: 2, padding: 2 */

So that we can kill that hole, protocol can only go all the way to 255 (RAW).

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
include/net/protocol.h