Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp5617750imu; Mon, 26 Nov 2018 03:04:45 -0800 (PST) X-Google-Smtp-Source: AJdET5cR9qHkzgbmOWmetgDS8aVhlH7jmlDluUZGXnH2o2GhRl4vZdpcEEIoKqxWvL6ut7Rg1tLQ X-Received: by 2002:a62:6c89:: with SMTP id h131-v6mr27282115pfc.12.1543230285287; Mon, 26 Nov 2018 03:04:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543230285; cv=none; d=google.com; s=arc-20160816; b=KNu/1ZSDFqByApfTdSFhA0rGCI+DtAf5V9+4EPg3WIicG7GH2skCkIR3+zoyAS9XcO BUUevw0/el++nLVhi93fEDlQjaFrw9vCr7F1AAdy+JGX04iq84KrYqkUbVZVN0MVSGUy sSaxgzNcXSHoN5hRlSJrQBnqrB33hlbPCChABa0SaUI+V8K+yQw1Tr7i13mjOkhmN9hz JPKymwvyRn1ezOnHhZLSrtiJiXmi/QZqoocyVE6pvSlRWHAFG9vPzmJ0dkprFSLkr2r7 HdXYgRv6RLHkiMknXprOwthvWW75tHBdVonmZBUORwdoGu4WvNKp0tjdRT84xcr9ZgLu sTYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=rFeuN+/DWjTBzuWkbp2aaKhmD0meDUh8wXpTFFctCXg=; b=X/f2CEWGL/BJeVIMNpGCZH/j7cJWiliapTjiUchn0F40PGTrXeHLNpfgD80Kk/rFOL YMNwbjUCwTeSlGWFGJcqVw2iUgLpZ5LlaNRQfjnP2KXC2JDzVJhr0RamVoCKd4+GeafK YufYbo/fmKJmUzrtwXtf1FAlsEAar0n+vUB4vtBqPQGgnEYTZ2uWVWj7754baQzWMJXG aVg89E+mUazcOFBvsRpLazHiVA6ko682rvc5vpkKdnWuNkCtA5X9fcpxkEU6vDjmtjyz lWspnEBnqoxNQy5GkYpc6e33KPgah56ss8a7n2fRz/8E0UzH0If3GgFFf+UcEK03dAi3 mFMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jkbBDITy; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o31si60766305pgb.273.2018.11.26.03.04.30; Mon, 26 Nov 2018 03:04:45 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jkbBDITy; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730356AbeKZVzv (ORCPT + 99 others); Mon, 26 Nov 2018 16:55:51 -0500 Received: from mail.kernel.org ([198.145.29.99]:38670 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729305AbeKZVzu (ORCPT ); Mon, 26 Nov 2018 16:55:50 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6F07320817; Mon, 26 Nov 2018 11:02:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543230124; bh=KRcv30qXsL7Yd6ThmWA8m1AfwlQzpveyrMaNG9PMcOo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jkbBDITyjRvZNDLyrd1uQAo7c0fWqs90/ikOwaynx+AF5jauDw/n2EIEAIuapMWTl tJ0gQ4VokkbN4qjIvr3JlZZS/7idmjftVKTcJEy5N+cbEO3spaibQCiscFNMz7oswb cbTCTzR2buVxyKfoKXRnzu2upRHycNYl8jSZIFno= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Marc Dionne , David Howells , Sasha Levin Subject: [PATCH 4.19 018/118] afs: Handle EIO from delivery function Date: Mon, 26 Nov 2018 11:50:12 +0100 Message-Id: <20181126105100.562998074@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181126105059.832485122@linuxfoundation.org> References: <20181126105059.832485122@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 4ac15ea53622272c01954461b4814892b7481b40 ] Fix afs_deliver_to_call() to handle -EIO being returned by the operation delivery function, indicating that the call found itself in the wrong state, by printing an error and aborting the call. Currently, an assertion failure will occur. This can happen, say, if the delivery function falls off the end without calling afs_extract_data() with the want_more parameter set to false to collect the end of the Rx phase of a call. The assertion failure looks like: AFS: Assertion failed 4 == 7 is false 0x4 == 0x7 is false ------------[ cut here ]------------ kernel BUG at fs/afs/rxrpc.c:462! and is matched in the trace buffer by a line like: kworker/7:3-3226 [007] ...1 85158.030203: afs_io_error: c=0003be0c r=-5 CM_REPLY Fixes: 98bf40cd99fc ("afs: Protect call->state changes against signals") Reported-by: Marc Dionne Signed-off-by: David Howells Signed-off-by: Sasha Levin --- fs/afs/rxrpc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fs/afs/rxrpc.c b/fs/afs/rxrpc.c index 77a83790a31f..2543f24d23f8 100644 --- a/fs/afs/rxrpc.c +++ b/fs/afs/rxrpc.c @@ -500,7 +500,6 @@ static void afs_deliver_to_call(struct afs_call *call) case -EINPROGRESS: case -EAGAIN: goto out; - case -EIO: case -ECONNABORTED: ASSERTCMP(state, ==, AFS_CALL_COMPLETE); goto done; @@ -509,6 +508,10 @@ static void afs_deliver_to_call(struct afs_call *call) rxrpc_kernel_abort_call(call->net->socket, call->rxcall, abort_code, ret, "KIV"); goto local_abort; + case -EIO: + pr_err("kAFS: Call %u in bad state %u\n", + call->debug_id, state); + /* Fall through */ case -ENODATA: case -EBADMSG: case -EMSGSIZE: -- 2.17.1