[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1518188432-9245-9-git-send-email-jchapman@katalix.com>
Date: Fri, 9 Feb 2018 15:00:24 +0000
From: James Chapman <jchapman@...alix.com>
To: netdev@...r.kernel.org
Subject: [PATCH net-next 08/16] l2tp: hide session from pppol2tp_sock_to_session if it is closing
Signed-off-by: James Chapman <jchapman@...alix.com>
---
net/l2tp/l2tp_ppp.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c
index ff95a4d4eac5..947066b3d6d8 100644
--- a/net/l2tp/l2tp_ppp.c
+++ b/net/l2tp/l2tp_ppp.c
@@ -172,8 +172,16 @@ static inline struct l2tp_session *pppol2tp_sock_to_session(struct sock *sk)
rcu_read_unlock_bh();
return NULL;
}
+
+ spin_lock_bh(&session->lock);
+ if (session->closing) {
+ spin_unlock_bh(&session->lock);
+ rcu_read_unlock_bh();
+ return NULL;
+ }
l2tp_session_inc_refcount(session);
- rcu_read_unlock();
+ spin_unlock_bh(&session->lock);
+ rcu_read_unlock_bh();
BUG_ON(session->magic != L2TP_SESSION_MAGIC);
--
1.9.1
Powered by blists - more mailing lists