--- zzzz-none-000/linux-2.6.19.2/net/xfrm/xfrm_user.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/net/xfrm/xfrm_user.c 2007-01-19 14:42:56.000000000 +0000 @@ -323,7 +323,7 @@ x->props.replay_window = p->replay_window; x->props.reqid = p->reqid; x->props.family = p->family; - memcpy(&x->props.saddr, &p->saddr, sizeof(x->props.saddr)); + x->props.saddr = p->saddr; x->props.flags = p->flags; } @@ -495,7 +495,6 @@ goto out; } - err = -ESRCH; x = xfrm_state_lookup_byaddr(&p->daddr, saddr, p->proto, p->family); } @@ -546,7 +545,7 @@ memcpy(&p->lft, &x->lft, sizeof(p->lft)); memcpy(&p->curlft, &x->curlft, sizeof(p->curlft)); memcpy(&p->stats, &x->stats, sizeof(p->stats)); - memcpy(&p->saddr, &x->props.saddr, sizeof(p->saddr)); + p->saddr = x->props.saddr; p->mode = x->props.mode; p->replay_window = x->props.replay_window; p->reqid = x->props.reqid; @@ -1782,7 +1781,7 @@ return -1; } -static int inline xfrm_sa_len(struct xfrm_state *x) +static inline int xfrm_sa_len(struct xfrm_state *x) { int l = 0; if (x->aalg) @@ -1928,9 +1927,6 @@ len = RTA_SPACE(sizeof(struct xfrm_user_tmpl) * xp->xfrm_nr); len += NLMSG_SPACE(sizeof(struct xfrm_user_acquire)); len += RTA_SPACE(xfrm_user_sec_ctx_size(xp)); -#ifdef CONFIG_XFRM_SUB_POLICY - len += RTA_SPACE(sizeof(struct xfrm_userpolicy_type)); -#endif skb = alloc_skb(len, GFP_ATOMIC); if (skb == NULL) return -ENOMEM; @@ -2038,9 +2034,6 @@ len = RTA_SPACE(sizeof(struct xfrm_user_tmpl) * xp->xfrm_nr); len += NLMSG_SPACE(sizeof(struct xfrm_user_polexpire)); len += RTA_SPACE(xfrm_user_sec_ctx_size(xp)); -#ifdef CONFIG_XFRM_SUB_POLICY - len += RTA_SPACE(sizeof(struct xfrm_userpolicy_type)); -#endif skb = alloc_skb(len, GFP_ATOMIC); if (skb == NULL) return -ENOMEM; @@ -2067,9 +2060,6 @@ len += RTA_SPACE(headlen); headlen = sizeof(*id); } -#ifdef CONFIG_XFRM_SUB_POLICY - len += RTA_SPACE(sizeof(struct xfrm_userpolicy_type)); -#endif len += NLMSG_SPACE(headlen); skb = alloc_skb(len, GFP_ATOMIC); @@ -2116,12 +2106,10 @@ struct nlmsghdr *nlh; struct sk_buff *skb; unsigned char *b; - int len = 0; #ifdef CONFIG_XFRM_SUB_POLICY struct xfrm_userpolicy_type upt; - len += RTA_SPACE(sizeof(struct xfrm_userpolicy_type)); #endif - len += NLMSG_LENGTH(0); + int len = NLMSG_LENGTH(0); skb = alloc_skb(len, GFP_ATOMIC); if (skb == NULL)