Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 196b0036 authored by Herbert Xu's avatar Herbert Xu Committed by David S. Miller
Browse files

[IPSEC]: Ensure that state inner family is set



Similar to the issue we had with template families which
specified the inner families of policies, we need to set
the inner families of states as the main xfrm user Openswan
leaves it as zero.

af_key is unaffected because the inner family is set by it
and not the KM.

Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b8ed601c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -322,6 +322,13 @@ static void copy_from_user_state(struct xfrm_state *x, struct xfrm_usersa_info *
	x->props.family = p->family;
	memcpy(&x->props.saddr, &p->saddr, sizeof(x->props.saddr));
	x->props.flags = p->flags;

	/*
	 * Set inner address family if the KM left it as zero.
	 * See comment in validate_tmpl.
	 */
	if (!x->sel.family)
		x->sel.family = p->family;
}

/*