Skip to content
  • Arnaldo Carvalho de Melo's avatar
    [INET]: Change protocol field in struct inet_protosw to u16 · ee41e2df
    Arnaldo Carvalho de Melo authored
    
    
    [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: default avatarArnaldo Carvalho de Melo <acme@mandriva.com>
    ee41e2df