From patchwork Wed Aug 9 22:31:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Munehisa Kamata X-Patchwork-Id: 9892379 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id CE41D602D7 for ; Wed, 9 Aug 2017 22:36:14 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C125228980 for ; Wed, 9 Aug 2017 22:36:14 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B42AD289CA; Wed, 9 Aug 2017 22:36:14 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=2.0 tests=BAYES_00,DKIM_ADSP_ALL, DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 7EFDC28980 for ; Wed, 9 Aug 2017 22:36:13 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dfZXg-0007B9-IZ; Wed, 09 Aug 2017 22:33:32 +0000 Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dfZXf-0007B3-Eu for xen-devel@lists.xenproject.org; Wed, 09 Aug 2017 22:33:31 +0000 Received: from [193.109.254.147] by server-5.bemta-6.messagelabs.com id 4C/01-03368-ABD8B895; Wed, 09 Aug 2017 22:33:30 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrDIsWRWlGSWpSXmKPExsViEm8Ypburtzv S4PkTJovvWyYzOTB6HP5whSWAMYo1My8pvyKBNeP8aYOCFZIVW3Z9YWlg3CzWxcjFwSKwmVli 2ZG9rF2MnBwSAv4S0ybvZgFJCAncZZRYt/EKK4Qzj0ni+/wt7BDOXkaJU9sfs8E5mx6fgeo5y yixb8sGsGFsAloSC//dYAKxRQSUJL5f62YEKWIW2AE0a9M9NpCEsIC7RO+5HmYQm0VARWLX/8 uMIDavgLnEzK5WJoir5CWu/OpngYgLSpyc+QTMZhaQkDj44gVYr4CAgMSGVw/YJzAKzkJSNgt J2QJGplWM6sWpRWWpRbomeklFmekZJbmJmTm6hgZmermpxcWJ6ak5iUnFesn5uZsYgWHKAAQ7 GLsv+x9ilORgUhLl7WjojhTiS8pPqcxILM6ILyrNSS0+xCjDwaEkwWvRA5QTLEpNT61Iy8wBR gxMWoKDR0mEdyZImre4IDG3ODMdInWK0Zhjw+r1X5g4Xk34/41JiCUvPy9VSpw3H6RUAKQ0oz QPbhAski8xykoJ8zICnSbEU5BalJtZgir/ilGcg1FJmHcVyBSezLwSuH2vgE5hAjolwrcT5JS SRISUVANjnIfahA+2y39/tm+/GLPlX1HZxeAr504cmq2/el3JKUGukoTrXy/+1Hb8PEe5q9x4 zesrCuI/REp+S2z5sv/lYdbjfaqiUzfcVvjJcECr6mi/jZRwpBLnq9WGyziePT8S+KOj/Z+Hu 96S6YxXwmfNPGBw0O3PG3U+J87+I18tXLe3GFopRL55pMRSnJFoqMVcVJwIADHpoQLfAgAA X-Env-Sender: prvs=387fdafe8=kamatam@amazon.com X-Msg-Ref: server-6.tower-27.messagelabs.com!1502318008!111290485!1 X-Originating-IP: [52.95.49.90] X-SpamReason: No, hits=0.0 required=7.0 tests=FROM_AMAZON X-StarScan-Received: X-StarScan-Version: 9.4.45; banners=-,-,- X-VirusChecked: Checked Received: (qmail 15227 invoked from network); 9 Aug 2017 22:33:29 -0000 Received: from smtp-fw-6002.amazon.com (HELO smtp-fw-6002.amazon.com) (52.95.49.90) by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP; 9 Aug 2017 22:33:29 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1502318009; x=1533854009; h=from:to:cc:subject:date:message-id:mime-version; bh=hGt6OWdF5gKp4TUEXNzaRdqrtA9RgfFbRGBsj88qZZI=; b=lW0VC57ZqYaOEYsvTFsVbl0KKkYAFo85DMTAVyWsDL30h/hbAhR7u07R Qo3K5QWQyrXeSBnfVIWBJLEH1bO8erYhQkd94Pn6Rhw71YwmZ0nh2SFdB rIfu7q8aW5LHWTZqPn9K2YhGEv6JNqdbp5AH9IuHSSh5RLZlUbOZ+mWwy 4=; X-IronPort-AV: E=Sophos;i="5.41,349,1498521600"; d="scan'208";a="299124613" Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-64016.pdx4.amazon.com) ([10.43.8.6]) by smtp-border-fw-out-6002.iad6.amazon.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Aug 2017 22:33:19 +0000 Received: from EX13MTAUWB001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-64016.pdx4.amazon.com (8.14.7/8.14.7) with ESMTP id v79MXHfo020586 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 9 Aug 2017 22:33:17 GMT Received: from EX13D10UWB001.ant.amazon.com (10.43.161.111) by EX13MTAUWB001.ant.amazon.com (10.43.161.249) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Wed, 9 Aug 2017 22:33:17 +0000 Received: from EX13MTAUWC001.ant.amazon.com (10.43.162.135) by EX13D10UWB001.ant.amazon.com (10.43.161.111) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Wed, 9 Aug 2017 22:33:17 +0000 Received: from uc4346b70a5de54b0395a.sea.amazon.com (10.61.62.39) by mail-relay.amazon.com (10.43.162.232) with Microsoft SMTP Server id 15.0.1104.5 via Frontend Transport; Wed, 9 Aug 2017 22:33:17 +0000 From: Munehisa Kamata To: Date: Wed, 9 Aug 2017 15:31:40 -0700 Message-ID: <20170809223140.14298-1-kamatam@amazon.com> X-Mailer: git-send-email 2.13.0 MIME-Version: 1.0 Precedence: Bulk Cc: Juergen Gross , Munehisa Kamata , stable@vger.kernel.org, xen-devel@lists.xenproject.org, Boris Ostrovsky , Roger Pau Monne Subject: [Xen-devel] [PATCH] xen-blkfront: use a right index when checking requests X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP Since commit d05d7f40791c ("Merge branch 'for-4.8/core' of git://git.kernel.dk/linux-block") and 3fc9d690936f ("Merge branch 'for-4.8/drivers' of git://git.kernel.dk/linux-block"), blkfront_resume() has been using an index for iterating ring_info to check request when iterating blk_shadow in an inner loop. This seems to have been accidentally introduced during the massive rewrite of the block layer macros in the commits. This may cause crash like this: [11798.057074] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048 [11798.058832] IP: [] blkfront_resume+0x10a/0x610 .... [11798.061063] Call Trace: [11798.061063] [] xenbus_dev_resume+0x53/0x140 [11798.061063] [] ? xenbus_dev_probe+0x150/0x150 [11798.061063] [] dpm_run_callback+0x3e/0x110 [11798.061063] [] device_resume+0x88/0x190 [11798.061063] [] dpm_resume+0x100/0x2d0 [11798.061063] [] dpm_resume_end+0x11/0x20 [11798.061063] [] do_suspend+0xe8/0x1a0 [11798.061063] [] shutdown_handler+0xfd/0x130 [11798.061063] [] ? split+0x110/0x110 [11798.061063] [] xenwatch_thread+0x86/0x120 [11798.061063] [] ? prepare_to_wait_event+0x110/0x110 [11798.061063] [] kthread+0xd7/0xf0 [11798.061063] [] ? kfree+0x121/0x170 [11798.061063] [] ? kthread_park+0x60/0x60 [11798.061063] [] ? call_usermodehelper_exec_work+0xb0/0xb0 [11798.061063] [] ? call_usermodehelper_exec_async+0x13a/0x140 [11798.061063] [] ret_from_fork+0x25/0x30 Use the right index in the inner loop. Fixes: d05d7f40791c ("Merge branch 'for-4.8/core' of git://git.kernel.dk/linux-block") Fixes: 3fc9d690936f ("Merge branch 'for-4.8/drivers' of git://git.kernel.dk/linux-block") Signed-off-by: Munehisa Kamata Reviewed-by: Thomas Friebel Reviewed-by: Eduardo Valentin Cc: Boris Ostrovsky Cc: Juergen Gross Cc: Konrad Rzeszutek Wilk Cc: Roger Pau Monne Cc: xen-devel@lists.xenproject.org Cc: stable@vger.kernel.org Reviewed-by: Boris Ostrovsky Reviewed-by: Roger Pau Monné --- drivers/block/xen-blkfront.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index 98e34e4c62b8..2468c28d4771 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c @@ -2075,9 +2075,9 @@ static int blkfront_resume(struct xenbus_device *dev) /* * Get the bios in the request so we can re-queue them. */ - if (req_op(shadow[i].request) == REQ_OP_FLUSH || - req_op(shadow[i].request) == REQ_OP_DISCARD || - req_op(shadow[i].request) == REQ_OP_SECURE_ERASE || + if (req_op(shadow[j].request) == REQ_OP_FLUSH || + req_op(shadow[j].request) == REQ_OP_DISCARD || + req_op(shadow[j].request) == REQ_OP_SECURE_ERASE || shadow[j].request->cmd_flags & REQ_FUA) { /* * Flush operations don't contain bios, so