diff options
author | Basil Gunn <basil@pacabunga.com> | 2016-06-16 18:42:30 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-06-19 05:55:34 +0200 |
commit | 4a7d99ea1b27734558feb6833f180cd38a159940 (patch) | |
tree | 3ef63dc61cd8243272b86213c933335b9f1bcb12 /net/ax25/ax25_subr.c | |
parent | RDS: TCP: rds_tcp_accept_one() should transition socket from RESETTING to UP (diff) | |
download | linux-4a7d99ea1b27734558feb6833f180cd38a159940.tar.xz linux-4a7d99ea1b27734558feb6833f180cd38a159940.zip |
AX.25: Close socket connection on session completion
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>
Diffstat (limited to 'net/ax25/ax25_subr.c')
-rw-r--r-- | net/ax25/ax25_subr.c | 3 |
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); |