diff -rup linux-2.6.2.vanilla/net/xfrm/xfrm_user.c linux-2.6.2/net/xfrm/xfrm_user.c --- linux-2.6.2.vanilla/net/xfrm/xfrm_user.c 2004-02-04 04:43:56.000000000 +0100 +++ linux-2.6.2/net/xfrm/xfrm_user.c 2004-02-24 10:09:37.839560352 +0100 @@ -1052,9 +1052,8 @@ static int xfrm_send_acquire(struct xfrm struct sk_buff *skb; size_t len; - len = RTA_LENGTH(sizeof(struct xfrm_user_tmpl) * xp->xfrm_nr); - len = RTA_ALIGN(len); - len += NLMSG_ALIGN(NLMSG_LENGTH(sizeof(struct xfrm_user_acquire))); + len = RTA_SPACE(sizeof(struct xfrm_user_tmpl) * xp->xfrm_nr); + len += NLMSG_SPACE(sizeof(struct xfrm_user_acquire)); skb = alloc_skb(len, GFP_ATOMIC); if (skb == NULL) return -ENOMEM; @@ -1151,9 +1150,8 @@ static int xfrm_send_policy_notify(struc struct sk_buff *skb; size_t len; - len = sizeof(struct xfrm_user_tmpl) * xp->xfrm_nr; - len = RTA_ALIGN(RTA_LENGTH(len)); - len += NLMSG_ALIGN(NLMSG_LENGTH(sizeof(struct xfrm_user_polexpire))); + len = RTA_SPACE(sizeof(struct xfrm_user_tmpl) * xp->xfrm_nr); + len += NLMSG_SPACE(sizeof(struct xfrm_user_polexpire)); skb = alloc_skb(len, GFP_ATOMIC); if (skb == NULL) return -ENOMEM;