diff options
author | David S. Miller <davem@davemloft.net> | 2022-08-24 12:51:50 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-08-24 12:51:50 +0100 |
commit | 76de008340ecf55fe4cfb54137b8a56d87a98f9f (patch) | |
tree | 67bd35b1afb6af6a6c6446f1168b2731d9e85444 /net/key | |
parent | f79959220fa5fbda939592bf91c7a9ea90419040 (diff) | |
parent | 17ecd4a4db4783392edd4944f5e8268205083f70 (diff) | |
download | linux-stable-76de008340ecf55fe4cfb54137b8a56d87a98f9f.tar.gz linux-stable-76de008340ecf55fe4cfb54137b8a56d87a98f9f.tar.bz2 linux-stable-76de008340ecf55fe4cfb54137b8a56d87a98f9f.zip |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec
Steffen Klassert says:
====================
pull request (net): ipsec 2022-08-24
1) Fix a refcount leak in __xfrm_policy_check.
From Xin Xiong.
2) Revert "xfrm: update SA curlft.use_time". This
violates RFC 2367. From Antony Antony.
3) Fix a comment on XFRMA_LASTUSED.
From Antony Antony.
4) x->lastused is not cloned in xfrm_do_migrate.
Fix from Antony Antony.
5) Serialize the calls to xfrm_probe_algs.
From Herbert Xu.
6) Fix a null pointer dereference of dst->dev on a metadata
dst in xfrm_lookup_with_ifid. From Nikolay Aleksandrov.
Please pull or let me know if there are problems.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/key')
-rw-r--r-- | net/key/af_key.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/key/af_key.c b/net/key/af_key.c index fda2dcc8a383..c85df5b958d2 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c @@ -1697,9 +1697,12 @@ static int pfkey_register(struct sock *sk, struct sk_buff *skb, const struct sad pfk->registered |= (1<<hdr->sadb_msg_satype); } + mutex_lock(&pfkey_mutex); xfrm_probe_algs(); supp_skb = compose_sadb_supported(hdr, GFP_KERNEL | __GFP_ZERO); + mutex_unlock(&pfkey_mutex); + if (!supp_skb) { if (hdr->sadb_msg_satype != SADB_SATYPE_UNSPEC) pfk->registered &= ~(1<<hdr->sadb_msg_satype); |