From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net] rxrpc: Fix handling of call quietly cancelled out on server Date: Mon, 04 Jun 2018 16:06:56 -0400 (EDT) Message-ID: <20180604.160656.1908177448752194104.davem@davemloft.net> References: <152798865948.5814.10196893914153717731.stgit@warthog.procyon.org.uk> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, linux-afs@lists.infradead.org, linux-kernel@vger.kernel.org To: dhowells@redhat.com Return-path: In-Reply-To: <152798865948.5814.10196893914153717731.stgit@warthog.procyon.org.uk> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org From: David Howells Date: Sun, 03 Jun 2018 02:17:39 +0100 > Sometimes an in-progress call will stop responding on the fileserver when > the fileserver quietly cancels the call with an internally marked abort > (RX_CALL_DEAD), without sending an ABORT to the client. > > This causes the client's call to eventually expire from lack of incoming > packets directed its way, which currently leads to it being cancelled > locally with ETIME. Note that it's not currently clear as to why this > happens as it's really hard to reproduce. > > The rotation policy implement by kAFS, however, doesn't differentiate > between ETIME meaning we didn't get any response from the server and ETIME > meaning the call got cancelled mid-flow. The latter leads to an oops when > fetching data as the rotation partially resets the afs_read descriptor, > which can result in a cleared page pointer being dereferenced because that > page has already been filled. ... > Signed-off-by: David Howells Applied, thanks David.