From 97ddbec421eb42de70f3e4a222bc18c2c9717faa Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Thu, 7 Aug 2003 07:05:00 -0700 Subject: [PATCH] [XFRM_USER]: Add inner family field to all SAs and templates. --- include/linux/xfrm.h | 3 ++- net/xfrm/xfrm_user.c | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h index a4dd169d9f6fe..430370b12d139 100644 --- a/include/linux/xfrm.h +++ b/include/linux/xfrm.h @@ -37,6 +37,7 @@ struct xfrm_selector __u16 dport_mask; __u16 sport; __u16 sport_mask; + __u16 family; __u8 prefixlen_d; __u8 prefixlen_s; __u8 proto; @@ -125,6 +126,7 @@ enum struct xfrm_user_tmpl { struct xfrm_id id; + __u16 family; xfrm_address_t saddr; __u32 reqid; __u8 mode; @@ -189,7 +191,6 @@ struct xfrm_userpolicy_info { struct xfrm_lifetime_cur curlft; __u32 priority; __u32 index; - __u16 family; __u8 dir; __u8 action; #define XFRM_POLICY_ALLOW 0 diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index b1c87c9924f20..049c7c833d955 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c @@ -527,7 +527,7 @@ static int verify_newpolicy_info(struct xfrm_userpolicy_info *p) return -EINVAL; }; - switch (p->family) { + switch (p->sel.family) { case AF_INET: break; @@ -594,7 +594,7 @@ static void copy_from_user_policy(struct xfrm_policy *xp, struct xfrm_userpolicy memcpy(&xp->lft, &p->lft, sizeof(xp->lft)); xp->action = p->action; xp->flags = p->flags; - xp->family = p->family; + xp->family = p->sel.family; /* XXX xp->share = p->share; */ } @@ -605,7 +605,7 @@ static void copy_to_user_policy(struct xfrm_policy *xp, struct xfrm_userpolicy_i memcpy(&p->curlft, &xp->curlft, sizeof(p->curlft)); p->priority = xp->priority; p->index = xp->index; - p->family = xp->family; + p->sel.family = xp->family; p->dir = dir; p->action = xp->action; p->flags = xp->flags; -- 2.53.0