summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2017-06-02 12:41:33 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2017-06-02 12:41:33 -0400
commitfb7a945bfdd7d3baea90b308f1db06093fb5e012 (patch)
treeec4163019989c03d3a3f3461e2f46cb6bf940679
parentf8304f0e1ed9baf7413cdd2b4b4f8ca43195611f (diff)
downloadlongterm-queue-4.8-fb7a945bfdd7d3baea90b308f1db06093fb5e012.tar.gz
xfrm: spin_lock --> rwlock for older 4.8.x
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--queue/xfrm-policy-init-locks-early.patch14
1 files changed, 8 insertions, 6 deletions
diff --git a/queue/xfrm-policy-init-locks-early.patch b/queue/xfrm-policy-init-locks-early.patch
index 17703cb..cc497ec 100644
--- a/queue/xfrm-policy-init-locks-early.patch
+++ b/queue/xfrm-policy-init-locks-early.patch
@@ -1,4 +1,4 @@
-From c282222a45cb9503cbfbebfdb60491f06ae84b49 Mon Sep 17 00:00:00 2001
+From 32accdd2263347e6e84467a4ed211158ee274530 Mon Sep 17 00:00:00 2001
From: Florian Westphal <fw@strlen.de>
Date: Wed, 8 Feb 2017 11:52:29 +0100
Subject: [PATCH] xfrm: policy: init locks early
@@ -30,30 +30,32 @@ Reported-by: Dmitry Vyukov <dvyukov@google.com>
Fixes: 283bc9f35bbbcb0e9 ("xfrm: Namespacify xfrm state/policy locks")
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
+[PG: spin_lock --> rwlock for older 4.8.x code base.]
+Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
-index 177e208e8ff5..3c8f5b70abf8 100644
+index 45f9cf97ea25..75bb20ae121b 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
-@@ -3062,6 +3062,11 @@ static int __net_init xfrm_net_init(struct net *net)
+@@ -3034,6 +3034,11 @@ static int __net_init xfrm_net_init(struct net *net)
{
int rv;
+ /* Initialize the per-net locks here */
+ spin_lock_init(&net->xfrm.xfrm_state_lock);
-+ spin_lock_init(&net->xfrm.xfrm_policy_lock);
++ rwlock_init(&net->xfrm.xfrm_policy_lock);
+ mutex_init(&net->xfrm.xfrm_cfg_mutex);
+
rv = xfrm_statistics_init(net);
if (rv < 0)
goto out_statistics;
-@@ -3078,11 +3083,6 @@ static int __net_init xfrm_net_init(struct net *net)
+@@ -3050,11 +3055,6 @@ static int __net_init xfrm_net_init(struct net *net)
if (rv < 0)
goto out;
- /* Initialize the per-net locks here */
- spin_lock_init(&net->xfrm.xfrm_state_lock);
-- spin_lock_init(&net->xfrm.xfrm_policy_lock);
+- rwlock_init(&net->xfrm.xfrm_policy_lock);
- mutex_init(&net->xfrm.xfrm_cfg_mutex);
-
return 0;