[NET]: Use BUILD_BUG_ON() for checking size of skb->cb.
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Fri, 1 Sep 2006 07:29:06 +0000 (00:29 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Fri, 22 Sep 2006 22:18:15 +0000 (15:18 -0700)
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/af_inet.c
net/ipv6/af_inet6.c
net/netlink/af_netlink.c
net/unix/af_unix.c

index f2e8927f4596098b56b46935ec6d095c61cbf9d6..fdd89e37b9aaccfd17532352822b3140a6b61578 100644 (file)
@@ -1254,10 +1254,7 @@ static int __init inet_init(void)
        struct list_head *r;
        int rc = -EINVAL;
 
-       if (sizeof(struct inet_skb_parm) > sizeof(dummy_skb->cb)) {
-               printk(KERN_CRIT "%s: panic\n", __FUNCTION__);
-               goto out;
-       }
+       BUILD_BUG_ON(sizeof(struct inet_skb_parm) > sizeof(dummy_skb->cb));
 
        rc = proto_register(&tcp_prot, 1);
        if (rc)
index fc9c8a99bea664a0c1c42069ac81ba102bed7814..bf6e8aff19d4f2fa62a5e18641548bd0a4e2a60b 100644 (file)
@@ -761,6 +761,8 @@ static int __init inet6_init(void)
         struct list_head *r;
        int err;
 
+       BUILD_BUG_ON(sizeof(struct inet6_skb_parm) > sizeof(dummy_skb->cb));
+
 #ifdef MODULE
 #if 0 /* FIXME --RR */
        if (!mod_member_present(&__this_module, can_unload))
@@ -770,11 +772,6 @@ static int __init inet6_init(void)
 #endif
 #endif
 
-       if (sizeof(struct inet6_skb_parm) > sizeof(dummy_skb->cb)) {
-               printk(KERN_CRIT "inet6_proto_init: size fault\n");
-               return -EINVAL;
-       }
-
        err = proto_register(&tcpv6_prot, 1);
        if (err)
                goto out;
index a80e4456e204be372c2ee305b809d76eff15f4ed..d56e0d21f919dc581df426af4511ee8e52f07155 100644 (file)
@@ -1762,8 +1762,6 @@ static struct net_proto_family netlink_family_ops = {
        .owner  = THIS_MODULE,  /* for consistency 8) */
 };
 
-extern void netlink_skb_parms_too_large(void);
-
 static int __init netlink_proto_init(void)
 {
        struct sk_buff *dummy_skb;
@@ -1775,8 +1773,7 @@ static int __init netlink_proto_init(void)
        if (err != 0)
                goto out;
 
-       if (sizeof(struct netlink_skb_parms) > sizeof(dummy_skb->cb))
-               netlink_skb_parms_too_large();
+       BUILD_BUG_ON(sizeof(struct netlink_skb_parms) > sizeof(dummy_skb->cb));
 
        nl_table = kcalloc(MAX_LINKS, sizeof(*nl_table), GFP_KERNEL);
        if (!nl_table)
index de6ec519272e5225f85bce0b909a5241a6371a6f..7c91c2024d4947457e98eb8473b168ce248c6f1d 100644 (file)
@@ -2060,10 +2060,7 @@ static int __init af_unix_init(void)
        int rc = -1;
        struct sk_buff *dummy_skb;
 
-       if (sizeof(struct unix_skb_parms) > sizeof(dummy_skb->cb)) {
-               printk(KERN_CRIT "%s: panic\n", __FUNCTION__);
-               goto out;
-       }
+       BUILD_BUG_ON(sizeof(struct unix_skb_parms) > sizeof(dummy_skb->cb));
 
        rc = proto_register(&unix_proto, 1);
         if (rc != 0) {