[TCP]: Change tcp_diag to use the existing __RTA_PUT() macro.
authorStephen Hemminger <shemminger@osdl.org>
Thu, 23 Jun 2005 19:20:36 +0000 (12:20 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Jun 2005 19:20:36 +0000 (12:20 -0700)
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_diag.c

index 867acc0f79d87f9a7018bc956e8384cd3fad28d8..a4e512036d8833fdfa0f0b47612a4c209002577f 100644 (file)
@@ -43,13 +43,7 @@ struct tcpdiag_entry
 static struct sock *tcpnl;
 
 #define TCPDIAG_PUT(skb, attrtype, attrlen) \
-({ int rtalen = RTA_LENGTH(attrlen);        \
-   struct rtattr *rta;                      \
-   if (skb_tailroom(skb) < RTA_ALIGN(rtalen)) goto nlmsg_failure; \
-   rta = (void*)__skb_put(skb, RTA_ALIGN(rtalen)); \
-   rta->rta_type = attrtype;                \
-   rta->rta_len = rtalen;                   \
-   RTA_DATA(rta); })
+       RTA_DATA(__RTA_PUT(skb, attrtype, attrlen))
 
 static int tcpdiag_fill(struct sk_buff *skb, struct sock *sk,
                        int ext, u32 pid, u32 seq, u16 nlmsg_flags)
@@ -167,6 +161,7 @@ static int tcpdiag_fill(struct sk_buff *skb, struct sock *sk,
        nlh->nlmsg_len = skb->tail - b;
        return skb->len;
 
+rtattr_failure:
 nlmsg_failure:
        skb_trim(skb, b - skb->data);
        return -1;