l2tp: context refresh.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/queue/l2tp-take-reference-on-sessions-being-dumped.patch b/queue/l2tp-take-reference-on-sessions-being-dumped.patch
index c95cfa7..c896dd3 100644
--- a/queue/l2tp-take-reference-on-sessions-being-dumped.patch
+++ b/queue/l2tp-take-reference-on-sessions-being-dumped.patch
@@ -1,4 +1,4 @@
-From e08293a4ccbcc993ded0fdc46f1e57926b833d63 Mon Sep 17 00:00:00 2001
+From 0a2440d9fd7a33a3f5bdac912c1c4e67681aa8e1 Mon Sep 17 00:00:00 2001
 From: Guillaume Nault <g.nault@alphalink.fr>
 Date: Mon, 3 Apr 2017 12:03:13 +0200
 Subject: [PATCH] l2tp: take reference on sessions being dumped
@@ -24,12 +24,12 @@
 Signed-off-by: David S. Miller <davem@davemloft.net>
 
 diff --git a/net/l2tp/l2tp_core.c b/net/l2tp/l2tp_core.c
-index e927422d8c58..e37d9554da7b 100644
+index a2ed3bda4ddc..e702cb95b89b 100644
 --- a/net/l2tp/l2tp_core.c
 +++ b/net/l2tp/l2tp_core.c
-@@ -327,7 +327,8 @@ struct l2tp_session *l2tp_session_get(struct net *net,
+@@ -278,7 +278,8 @@ struct l2tp_session *l2tp_session_find(struct net *net, struct l2tp_tunnel *tunn
  }
- EXPORT_SYMBOL_GPL(l2tp_session_get);
+ EXPORT_SYMBOL_GPL(l2tp_session_find);
  
 -struct l2tp_session *l2tp_session_find_nth(struct l2tp_tunnel *tunnel, int nth)
 +struct l2tp_session *l2tp_session_get_nth(struct l2tp_tunnel *tunnel, int nth,
@@ -37,7 +37,7 @@
  {
  	int hash;
  	struct l2tp_session *session;
-@@ -337,6 +338,9 @@ struct l2tp_session *l2tp_session_find_nth(struct l2tp_tunnel *tunnel, int nth)
+@@ -288,6 +289,9 @@ struct l2tp_session *l2tp_session_find_nth(struct l2tp_tunnel *tunnel, int nth)
  	for (hash = 0; hash < L2TP_HASH_SIZE; hash++) {
  		hlist_for_each_entry(session, &tunnel->session_hlist[hash], hlist) {
  			if (++count > nth) {
@@ -47,7 +47,7 @@
  				read_unlock_bh(&tunnel->hlist_lock);
  				return session;
  			}
-@@ -347,7 +351,7 @@ struct l2tp_session *l2tp_session_find_nth(struct l2tp_tunnel *tunnel, int nth)
+@@ -298,7 +302,7 @@ struct l2tp_session *l2tp_session_find_nth(struct l2tp_tunnel *tunnel, int nth)
  
  	return NULL;
  }
@@ -57,19 +57,19 @@
  /* Lookup a session by interface name.
   * This is very inefficient but is only used by management interfaces.
 diff --git a/net/l2tp/l2tp_core.h b/net/l2tp/l2tp_core.h
-index 3b9b704a84e4..8ce7818c7a9d 100644
+index 763e8e241ce3..555d962a62d2 100644
 --- a/net/l2tp/l2tp_core.h
 +++ b/net/l2tp/l2tp_core.h
-@@ -236,7 +236,8 @@ struct l2tp_session *l2tp_session_get(struct net *net,
+@@ -243,7 +243,8 @@ out:
  struct l2tp_session *l2tp_session_find(struct net *net,
  				       struct l2tp_tunnel *tunnel,
  				       u32 session_id);
 -struct l2tp_session *l2tp_session_find_nth(struct l2tp_tunnel *tunnel, int nth);
 +struct l2tp_session *l2tp_session_get_nth(struct l2tp_tunnel *tunnel, int nth,
 +					  bool do_ref);
- struct l2tp_session *l2tp_session_get_by_ifname(struct net *net, char *ifname,
- 						bool do_ref);
+ struct l2tp_session *l2tp_session_find_by_ifname(struct net *net, char *ifname);
  struct l2tp_tunnel *l2tp_tunnel_find(struct net *net, u32 tunnel_id);
+ struct l2tp_tunnel *l2tp_tunnel_find_nth(struct net *net, int nth);
 diff --git a/net/l2tp/l2tp_debugfs.c b/net/l2tp/l2tp_debugfs.c
 index 2d6760a2ae34..d100aed3d06f 100644
 --- a/net/l2tp/l2tp_debugfs.c
@@ -101,10 +101,10 @@
  out:
  	return 0;
 diff --git a/net/l2tp/l2tp_netlink.c b/net/l2tp/l2tp_netlink.c
-index 93e317377c66..7e3e669baac4 100644
+index 1d02e8d20e56..18506b5c65a2 100644
 --- a/net/l2tp/l2tp_netlink.c
 +++ b/net/l2tp/l2tp_netlink.c
-@@ -867,7 +867,7 @@ static int l2tp_nl_cmd_session_dump(struct sk_buff *skb, struct netlink_callback
+@@ -844,7 +844,7 @@ static int l2tp_nl_cmd_session_dump(struct sk_buff *skb, struct netlink_callback
  				goto out;
  		}
  
@@ -113,7 +113,7 @@
  		if (session == NULL) {
  			ti++;
  			tunnel = NULL;
-@@ -877,8 +877,11 @@ static int l2tp_nl_cmd_session_dump(struct sk_buff *skb, struct netlink_callback
+@@ -854,8 +854,11 @@ static int l2tp_nl_cmd_session_dump(struct sk_buff *skb, struct netlink_callback
  
  		if (l2tp_nl_session_send(skb, NETLINK_CB(cb->skb).portid,
  					 cb->nlh->nlmsg_seq, NLM_F_MULTI,
@@ -127,10 +127,10 @@
  		si++;
  	}
 diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c
-index 26501902d1a7..7bf73091baa2 100644
+index c5630c758e03..b98191045df6 100644
 --- a/net/l2tp/l2tp_ppp.c
 +++ b/net/l2tp/l2tp_ppp.c
-@@ -1560,7 +1560,7 @@ static void pppol2tp_next_tunnel(struct net *net, struct pppol2tp_seq_data *pd)
+@@ -1557,7 +1557,7 @@ static void pppol2tp_next_tunnel(struct net *net, struct pppol2tp_seq_data *pd)
  
  static void pppol2tp_next_session(struct net *net, struct pppol2tp_seq_data *pd)
  {
@@ -139,7 +139,7 @@
  	pd->session_idx++;
  
  	if (pd->session == NULL) {
-@@ -1687,10 +1687,14 @@ static int pppol2tp_seq_show(struct seq_file *m, void *v)
+@@ -1684,10 +1684,14 @@ static int pppol2tp_seq_show(struct seq_file *m, void *v)
  
  	/* Show the tunnel or session context.
  	 */