From: Jon Maloy <jon.ma...@ericsson.com> Date: Wed, 10 Oct 2018 17:50:23 +0200
> From: Parthasarathy Bhuvaragan <parthasarathy.bhuvara...@ericsson.com> > > In tipc_sk_filter_rcv(), when we detect protocol messages with error we > call tipc_sk_conn_proto_rcv() and let it reset the connection and notify > the socket by calling sk->sk_state_change(). > > However, tipc_sk_filter_rcv() may have been called from the function > tipc_backlog_rcv(), in which case the socket lock is held and the socket > already awake. This means that the sk_state_change() call is ignored and > the error notification lost. Now the receive queue will remain empty and > the socket sleeps forever. > > In this commit, we convert the protocol message into a connection abort > message and enqueue it into the socket's receive queue. By this addition > to the above state change we cover all conditions. > > Acked-by: Ying Xue <ying....@windriver.com> > Signed-off-by: Parthasarathy Bhuvaragan > <parthasarathy.bhuvara...@ericsson.com> > Signed-off-by: Jon Maloy <jon.ma...@ericsson.com> Applied.