diff options
author | David S. Miller <davem@davemloft.net> | 2019-07-05 14:58:22 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-07-05 14:58:22 -0700 |
commit | 114b5b355ec0b6e83a6628a5ab5d03e50fd40a31 (patch) | |
tree | 70f32db394b63b61d6d2657f8d4dfac925a066a5 /net/xfrm/xfrm_user.c | |
parent | 9d1bc24b52fb8c5d859f9a47084bf1179470e04c (diff) | |
parent | 56c5ee1a5823e9cf5288b84ae6364cb4112f8225 (diff) | |
download | linux-stable-114b5b355ec0b6e83a6628a5ab5d03e50fd40a31.tar.gz linux-stable-114b5b355ec0b6e83a6628a5ab5d03e50fd40a31.tar.bz2 linux-stable-114b5b355ec0b6e83a6628a5ab5d03e50fd40a31.zip |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec
Steffen Klassert says:
====================
pull request (net): ipsec 2019-07-05
1) Fix xfrm selector prefix length validation for
inter address family tunneling.
From Anirudh Gupta.
2) Fix a memleak in pfkey.
From Jeremy Sowden.
3) Fix SA selector validation to allow empty selectors again.
From Nicolas Dichtel.
4) Select crypto ciphers for xfrm_algo, this fixes some
randconfig builds. From Arnd Bergmann.
5) Remove a duplicated assignment in xfrm_bydst_resize.
From Cong Wang.
6) Fix a hlist corruption on hash rebuild.
From Florian Westphal.
7) Fix a memory leak when creating xfrm interfaces.
From Nicolas Dichtel.
Please pull or let me know if there are problems.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/xfrm/xfrm_user.c')
-rw-r--r-- | net/xfrm/xfrm_user.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index 173477211e40..b88ba45ff1ac 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c @@ -152,6 +152,25 @@ static int verify_newsa_info(struct xfrm_usersa_info *p, err = -EINVAL; switch (p->family) { case AF_INET: + break; + + case AF_INET6: +#if IS_ENABLED(CONFIG_IPV6) + break; +#else + err = -EAFNOSUPPORT; + goto out; +#endif + + default: + goto out; + } + + switch (p->sel.family) { + case AF_UNSPEC: + break; + + case AF_INET: if (p->sel.prefixlen_d > 32 || p->sel.prefixlen_s > 32) goto out; |