summaryrefslogtreecommitdiff
path: root/net/ax25/ax25_subr.c
diff options
context:
space:
mode:
authorBasil Gunn <basil@pacabunga.com>2016-06-16 09:42:30 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-07-11 09:31:12 -0700
commiteda89513103abe73ec650256e445c8515bc688b5 (patch)
tree9f0401dbb6d83b194d7d9728e7b310fe7a2cc047 /net/ax25/ax25_subr.c
parentb30cc5b14fc0981a613969bfa048aa706347d1c3 (diff)
AX.25: Close socket connection on session completion
[ Upstream commit 4a7d99ea1b27734558feb6833f180cd38a159940 ] A socket connection made in ax.25 is not closed when session is completed. The heartbeat timer is stopped prematurely and this is where the socket gets closed. Allow heatbeat timer to run to close socket. Symptom occurs in kernels >= 4.2.0 Originally sent 6/15/2016. Resend with distribution list matching scripts/maintainer.pl output. Signed-off-by: Basil Gunn <basil@pacabunga.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/ax25/ax25_subr.c')
-rw-r--r--net/ax25/ax25_subr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ax25/ax25_subr.c b/net/ax25/ax25_subr.c
index 3b78e8473a01..655a7d4c96e1 100644
--- a/net/ax25/ax25_subr.c
+++ b/net/ax25/ax25_subr.c
@@ -264,7 +264,8 @@ void ax25_disconnect(ax25_cb *ax25, int reason)
{
ax25_clear_queues(ax25);
- ax25_stop_heartbeat(ax25);
+ if (!sock_flag(ax25->sk, SOCK_DESTROY))
+ ax25_stop_heartbeat(ax25);
ax25_stop_t1timer(ax25);
ax25_stop_t2timer(ax25);
ax25_stop_t3timer(ax25);