From patchwork Thu May 4 22:50:59 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 9712891 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 6097A60387 for ; Thu, 4 May 2017 22:51:51 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 54A7528639 for ; Thu, 4 May 2017 22:51:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 49931286A9; Thu, 4 May 2017 22:51:51 +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=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7B49128695 for ; Thu, 4 May 2017 22:51:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753157AbdEDWvt (ORCPT ); Thu, 4 May 2017 18:51:49 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:58228 "EHLO esa6.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753147AbdEDWvY (ORCPT ); Thu, 4 May 2017 18:51:24 -0400 X-IronPort-AV: E=Sophos;i="5.38,289,1491235200"; d="scan'208";a="16214562" Received: from mail-co1nam03lp0020.outbound.protection.outlook.com (HELO NAM03-CO1-obe.outbound.protection.outlook.com) ([216.32.181.20]) by ob1.hgst.iphmx.com with ESMTP; 05 May 2017 06:51:17 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-sharedspace-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Mn6nDHXvCzUlOmSZdzBgkb01TRiKGg92nJu7iAer0jE=; b=Mo9qEPGbhQxnv7jwdm1k2kbr7K0EcIySKftJauQYjzi1MXEVJLLfWyX3g7VSnnXP/w04RLy5vvMDXWo+GsPMTRlPDsjh0ClPNkrhlz3Z0mdpd9pPpRmxCx8XFOzSDWM5Nu4TkE7XBbXbu4mwFOuAEpuAsqPxSXc1tLu52t2jrQc= Received: from CO2PR04CA0102.namprd04.prod.outlook.com (10.165.94.156) by BY1PR0401MB1208.namprd04.prod.outlook.com (10.160.195.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.13; Thu, 4 May 2017 22:51:11 +0000 Received: from CO1NAM04FT026.eop-NAM04.prod.protection.outlook.com (2a01:111:f400:7e4d::209) by CO2PR04CA0102.outlook.office365.com (2603:10b6:104:6::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1075.11 via Frontend Transport; Thu, 4 May 2017 22:51:11 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.21) smtp.mailfrom=sandisk.com; redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=bestguesspass action=none header.from=sandisk.com; Received-SPF: Pass (protection.outlook.com: domain of sandisk.com designates 63.163.107.21 as permitted sender) receiver=protection.outlook.com; client-ip=63.163.107.21; helo=milsmgep15.sandisk.com; Received: from milsmgep15.sandisk.com (63.163.107.21) by CO1NAM04FT026.mail.protection.outlook.com (10.152.90.124) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1047.9 via Frontend Transport; Thu, 4 May 2017 22:51:10 +0000 Received: from MILHUBIP04.sdcorp.global.sandisk.com (Unknown_Domain [10.201.67.162]) (using TLS with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by (Symantec Messaging Gateway) with SMTP id DE.D4.29323.D50BB095; Thu, 4 May 2017 15:51:09 -0700 (PDT) Received: from milsmgip11.sandisk.com (10.177.9.6) by MILHUBIP04.sdcorp.global.sandisk.com (10.177.9.97) with Microsoft SMTP Server id 14.3.319.2; Thu, 4 May 2017 15:51:04 -0700 X-AuditID: 0ac94369-548749800000728b-0a-590bb05dbd65 Received: from exp-402881.sdcorp.global.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id F8.F0.11415.850BB095; Thu, 4 May 2017 15:51:04 -0700 (PDT) From: Bart Van Assche To: Nicholas Bellinger CC: , Bart Van Assche , Hannes Reinecke , "Christoph Hellwig" , Andy Grover , David Disseldorp Subject: [PATCH 16/19] target/iscsi: Fix a deadlock triggered by session shutdown Date: Thu, 4 May 2017 15:50:59 -0700 Message-ID: <20170504225102.8931-17-bart.vanassche@sandisk.com> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170504225102.8931-1-bart.vanassche@sandisk.com> References: <20170504225102.8931-1-bart.vanassche@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrFLMWRmVeSWpSXmKPExsXCddJ5kW7sBu5Ig9MnRC32z3rGZPH1/3QW iwVv9rJZrFx9lMmibfUZRovWpW+ZHNg87m8/wuSx+2YDm8f7fVfZPNZvucrisfl0tcfnTXIB bFFcNimpOZllqUX6dglcGVt7/rMXnNKpWLR7DnsD42q1LkZODgkBE4lpGz4wdzFycQgJLGWS uPzoITuEs5VR4vT8zewwVZfP/QSzhQQ2M0r8uaUDYrMJGEl8ez+TBcQWEdCRmHX3BVgzs8Bt Rok1j1ezgSSEBQIlWk4vAStiEVCR2PRiL5jNK2AvcfTmbjaIBfISZ7fsZAaxOYHie2fcZ4JY Ziexpn8zI8hQCYFlrBIfZyxgh2gWlDg58wnYIGYBCYmDL14wQzSoS5xcMp9pAqPQLCRls5CU LWBkWsUolpuZU5ybnlpgaKpXnJiXklmcrZecn7uJERIDmTsY7z7xPsQowMGoxMO7wI07Uog1 say4MvcQowQHs5IIb8QKoBBvSmJlVWpRfnxRaU5q8SFGaQ4WJXHeczJTI4QE0hNLUrNTUwtS i2CyTBycUg2MGr5sBnNero6dXR5xe2XT5drnN+ZyLC7mqpYS3h8f3fjMRvvhgm6h14kpfl53 H3hUPYzdoXHqRYTRj3mPkjZ5/9WY5zk9PWbiU/FGiXNCL7NNDeTD/ZhVFGNCF+v/XHGlytTq ne6Mb/3KUivf3dvfcJ7ZaYm25MdHO/Ykc3glCx7oWXXr/PKNSizFGYmGWsxFxYkAARwraH0C AAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrFJMWRmVeSWpSXmKPExsXCtZEjRTdiA3ekwfv5Vhb7Zz1jsjj4s43R 4uv/6SwWC97sZbNYufook0Xb6jOMFq1L3zI5sHvc336EyWP3zQY2j/f7rrJ5TFtznslj/Zar LB6bT1d7fN4kF8AexWWTkpqTWZZapG+XwJWxtec/e8EpnYpFu+ewNzCuVuti5OSQEDCRuHzu J3sXIxeHkMBGRom2+V8ZQRJsAkYS397PZAGxRQR0JGbdfQFWxCxwl1HiTPcnNpCEsECgRMvp JWBFLAKqEvNWXmUFsXkF7CV+35/KCLFBXuLslp3MIDYnUHzvjPtMILaQgJ3Emv7NjBMYuRcw MqxiFMvNzCnOTc8sMDTUK07MS8ksztZLzs/dxAgOHc7IHYxPJ5ofYmTi4JRqYDx09lf4zh2X 4+3USxKns6ofjna9x6Dvk7s+RH7zjNwkE6OuG/P3GX/nNWBt//GA/eu2W3b79ro+fMpSnPn9 8WY9kU2tZzNj8i9wHDHpW71WbWqE8VGr2dcjTI8cfxn5cJvwUtMpfy8cLg29ONmMtVhVoprl /HFt4+yyXW8PaMmKPjA3zXKJ41ZiKc5INNRiLipOBACxGPg7zQEAAA== MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:63.163.107.21; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(39850400002)(39410400002)(39450400003)(39400400002)(39860400002)(39840400002)(2980300002)(438002)(189002)(199003)(9170700003)(86362001)(6666003)(4326008)(189998001)(5003940100001)(356003)(6916009)(2950100002)(76176999)(81166006)(33646002)(8936002)(50226002)(110136004)(8676002)(2906002)(1076002)(38730400002)(50986999)(47776003)(106466001)(54906002)(53936002)(77096006)(5660300001)(48376002)(36756003)(508600001)(50466002)(305945005); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR0401MB1208; H:milsmgep15.sandisk.com; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CO1NAM04FT026; 1:q6pCkAmTets7VyLOXxYPiJ5lVMxBsXazjELuudVq4wNJ0DmNgi/qbhMzEXy9W1TmATEIzFE642otSW6mnBjo6wtdow6zF9PaM6I3UPpno2N0XSQI7E2cNen8mC+iCZu7dcplAfHccu5VF6kgvGilsnMDwkyqi2a72QqjYO5kV4n75xhUjLOWWQ+e8TWyx6xhtA7kvSoq5xT0Qj39rv0z5tPUR4pMpy4tYVvjSzpL3cgiE4vlRLXTbfxfir0Nb8fZ+7j49oK4KlNdmyVs2B1XHDR2X1AGvRNmZ8KclxYrK3BSecqVhQCSw/PRRFbcKliGGh2VKSQ/QLXHbRJe0YXC+2Ls45LmVLHxDg2BDXkPvZg/suqMMK3Um0hND8gcx4ZndxBZpFSPLoOBNpkK5KRQG5qJ/PDJaLZr0UIbzs17mi1WVSzOSX1zckMJGtmEBMs1Lm8rDwc6dYZ1BUdZtKEDBRjwTI+0NoDL9LVs8UI68J3zkaxvCL2mDcedFhwqSR3xftTYJG3g0obCJR8+Eue7OgoeLUo64UJ9ho5Ez8JjErY= X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 07d1d595-85b7-4413-743f-08d493400f52 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:BY1PR0401MB1208; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0401MB1208; 3:WidrnQFedYjw2DTpM2THLQWwAVxKbPrQZb2LoS0pM5kPwt3Xz7Bv5r3VWGW7Y0wFlh6NNT225yCwnLYYI5mArXKAtOLoddOMTHSo49PP/0s4bEsV0W9dc9EhNwVhPTbXaRbvF8xdUXYMMqh3cx3hVM1dDgNEgt5qDHOlpzg00msSinLH8fYbLwJg2mh3evFoKzNRw1u2EoUaKAvk5sTb9rW3UV6rZ2vjetAHnr3G+tKrIBT08w5sXlQDwN3eOSymE1ULhmZj9OuQQzc7vP9Mr/8cKJVAFAvqye8si54IDn9vKhVovF4GUtQPslNYrg3/OH/pZAlMpJ5TS+8I4WRO9yWqYpJRO1qs2/Yqb4Mu5XicjJF8Kzp8xApsTTA4tKg6NV5p4JntVFNhqUglyIN0dL5XDVcbWpapafLsshmEBjf8rFUj6/lat4YRB6nwIZmZxpEECAruU7RyzMh0PKE21r0qLnBGPcPkcFBGbkeiXc/ej6cxCEppPkXS/RhjjEmNIdf4zAnObal0wTWpn5dhDw== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0401MB1208; 25:j9uVm3vI8uo9ENStUvlKFDGnIWIb73mSehj93BtVZgAW+okdj7MDIi0ECu7bPSe93Io8n04zR2wtliKZtro4fflb0Yf/mm0RHHZ4Kim37etcO9u5exatZ22NJDZ0eWvxb4Hld9ASQ8K+BSdD0vrDbcs2MTY/PIW4VmsseCgts+i+i4xpYJTQhUjHtgFMOHQNVmN+aOHOagbGs4aba+hMx0zARyvumE/AnbuMyd1Lnx9rnf+NZ5r/1Vfi8jSb3SVXrGrwYTWrXpUKfqG6Lll9wxFBibqxDHjXnkBhaCuXs/C40IDYVv5Ofop21IvnIByCQ9UTlbkYJACg4gUvCDXNdlrdG9kPefTAW7Fyjyz4SRd3vpJESj4ajULn4jKpRuLuSfO9U9cdcmQ68ind3TFquL0AhJ3QvFD0nQpia/z+UJ0ed13bbmzo5LGjepN7tZ+NVKPJ8XCluoKUTwo3EotRaw==; 31:NkBJMT792fm6NmvxvDzVCp2aS4LeCSmmhkWvIjWG8bMYsn4EHIPkSU4VevvcxMThFASZvpNy2c6fGTsyEQ8q1o+6yqp9Fi0zcKEWwc/kXILdeuxUdFL9f4vlgEvRxZz3TULcVIcyvu5iV5z5TKkrDldu6OH6qUf29POr41GhrksEhs5YnHt5RrRNyQqvBJ30MPEVwe+wrySFuYr6WpMhAoWJcn7nByABbB2+vgjmj0G4uCXXsm1wY8dRhixkQezLUnoM7axbAL6M2kg76Pab/Q== WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; BY1PR0401MB1208; 20:rG9S8rbPr8+9PythpTVktd+m0kYSRFv3K3rijdy4UTIkZrlTCTlWpTjrmXy79ZsEB1xyEHnj5kX83EkdMtIWAxNJnBJwRBAQ3VB5RcPZBwq/Vu3R26Nu4JmRoxJYncLtadryTNwEr7V3POundvswdZwk56CJQRfssO2UvvK1XppNrxpd3gHZJ3nlJLjaky+DM+kSjKciA2p7AoVrEiP+Mqj7M5CpWJkVC147g2mCh9YOBkt85rhFsdXQkS8y1GaWQ/YkN6FFCJCn2ehvjaikf2BTXWmeDaedYkBeeQYmqRF4pw+5894cUiy8ikmxZAiVOh5HdzT5ywH7IOiV0coFoOTa3nRRhdeC3sDjQmxcIztjMG9EJRlZPWzj7qzvzdjnZalMc4RPX9V5mt+ZSnPNuihy3ABMJq7tD67EN+8XF0+gwcSnTk+0siSmetX5I0wSz9HMUbXcNKW4QZdh4eBWI6t80oZueeHiIAyMVO9u32QP++yRnLZuUNmlzHiTC0n1 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13016025)(13018025)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93004095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(20161123562025)(20161123560025)(20161123555025)(20161123564025)(6072148); SRVR:BY1PR0401MB1208; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0401MB1208; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0401MB1208; 4:hvoZjXG7tMytfHMHg35a80mxtHGfUOrcTTlzfM/bgLmfprmMeoGA0ZJxAtcqWHAhYYRnBoIJY6bjS+w191xs8xZP7js+YOyhPI/XPTCMAsOjvolzx5h9fMwRBxRHRr6qxvKZ7Na/NfaT9mF91yznHAmdDHNAGtvbwEvMLdDLby4KXo3aOq0obfYK+zjO6hgolVpFXGmKuA3PEKjvDemf69O9wbr/5Eo6g3D8uC84dDpcd5Yr0WryNE0kyrU+J9hfc+63updc07/FVuhGnbA6aRaCxPNXkUGr4PEM/rA99gp0ukNqAFWznRO7nm2q+ocz9z6wYT4QGCkZ/Ylv+Cbl6+MaaVfGCqaI+hACpGFhBSwfUJjY0XDuKPoppu0reye4Z4/xsfkfQwD7pkFieZh53EJReDpX6MO85W3T8SYl+mARjcn53smPkfP3Hw+30TZllsCoRNmn421ZTpaJnB6xRuPZabh0XpGld13pUfFBmtoJgETHd+qkI3D4OuGNYvPi41LnWV8Rbm8DFZf6ZWkIZ0QsuCcX0QZe0RJZmhXm7r7tZBQ6FGbnJ6ijzxTScaRdmk9h7JqO94/bmDkQyTdm9Y2992SD6OxL3GpfuV7m2tWrymd8G3d1GWQbgnHBECf25HH7WGTt9C/ajl7bMEqLzdnmXZKO8YdhWOe45tYx6q7KIMVhirdw4GioPukhATLA/rpzzst74W7nqkoOJuaX65JIScsjKWaY1HFcZsSuehZcyYyatO5BWM0hytxbmqxGyWx2l0GUzT6uFDZ7J8BBPCXxk1rBZwI9ZJH4loMICQhqqwVSmt9Rqjgq2fwkOIcv X-Forefront-PRVS: 02973C87BC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0401MB1208; 23:kK2xJUtYqycViXCc1i2lyZa1n0GeGKn+q/j9FHt?= =?us-ascii?Q?Uy+05sLIU54bn+EPjvcoUpUmFn+4J0R4foxDm4wpofoJoLbaBVDKOSGKkZob?= =?us-ascii?Q?yWz0ukVjSZdZtyzqhX7jgAAWX0lNjAr/DVRzHU16FKeti8muBjUqxSYeyO11?= =?us-ascii?Q?dEPkNzWiwrr4T0+W52ugfVUh47oqBu2RIGRfT6eks+goW2R7h78/tMLOIPfh?= =?us-ascii?Q?uQS1wvk/R2soV2el5agNsBDz/Zd03CknsPLpyV+RAoZjvYgWg/a76M3I7GVm?= =?us-ascii?Q?4mEQ56U7nqBD6Nko35Xjm5/BPgn4fxgCKL9YCV+3EC6i1WWa4245W/AK2cdn?= =?us-ascii?Q?PcikgsOKrDNvHZrkjHDdQA33ro0kgAbCPfyVsRQYGDHJJSZVkX5EN2VRBOqy?= =?us-ascii?Q?GriEp8H4M5P+iW8YVBTYxaBiewkDZMkA9IoCMtJy8kR/o6TQ9FuQuN29a3bV?= =?us-ascii?Q?o+XzpPqLYJpHNH9uZF3aW7WiQjNb2QoVOOVWdBlnY+beRsbQeEOM3gSZ0BEl?= =?us-ascii?Q?CAPor2zWL4NlGLc7TT/EjV9f3zspebAA0llc8PE/3U69ISESQ8YAxiG5eqrn?= =?us-ascii?Q?qv6VX8lIBV0Zruq9wMiENETC2DrDbfR3Gqn+5GLEAp1FihxjLEfh7Mom+w71?= =?us-ascii?Q?fzDOSWriBZmpovAHGA3H8YwCePIv3SXiNKP7En7Sgj4gdHdfM6i5Ws3aqnit?= =?us-ascii?Q?dJC2pL+oNQJGdKp7YWEGVVFRX+CDpJMAjvawSKbyYrh06N3EAKuKVAI8D/aO?= =?us-ascii?Q?LJMki4TFGaadZ15FEIfTxmmZAbPsJST5CRykCaW7eSGrgQBZ3BiA7VYt2Ae7?= =?us-ascii?Q?Qk7fYENANR3WNXoaj4UUepfO5sPjpg2LkKDrQ8w1EawMeE8hADsgqYZrlCU3?= =?us-ascii?Q?tmLd6799wu3guu/Z7++5d/4Is3sC5BcPBNPxGVuFTdbSSuF8tN1graDRup+1?= =?us-ascii?Q?ZFRbtm9KwoTxnTYX37DOlvVMJcQPTBoFLPebl0sDLRl/d6qz+Ou6wdJHV+nO?= =?us-ascii?Q?eygeTonXRsJXURcUKATwt9FMd+TZCkqPpp34tsMAbl0jGo3UACXwcg9pmeum?= =?us-ascii?Q?tChm+JC0=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0401MB1208; 6:OCEVX+vcp2MwKao6OHNuk/CkA5esad7MTiAX4JxVHmNHEzkQOGmI29fBiP55Inx55vVbMSp/Dw6CNMnhgQSr5HBe/+WrCyD8R7XKG4WEkt8TQwwY32aeGo7LaS4LTzhms11I5OyUll2AH/1K/AFzF5AZRLjArx+ETGZb40WOdE2YGPxlqEIJQOGwpILXZlcgJtdn5hxFUJRRXmQPWWe12cRVsji/EhpiuFxVeJpoRyllcQ1MGG1MmaoaQEbcVkvl2XEXN4AWp6yFCeQXkbXN3xby6c0LPnVC78m2jaVK8QBsRytdDbOmrtxWUtmAIfZR2v9efTe9XanZ5/tu3SVbgeF2lf+q1b+9taw/n+OdBJeMDxHMMDtBMTVpm+Ss2vM93CSrqzE8UVGI+Wk69nXM7XKec5O7DVWrYCGGkIm3UiPfSvNmDrJDdlacfq1iN15fK1OLkHNlxrkWITurPvHgWWqj9IalWooB/4tyKoOSk1aNshYmVHxHeDFLCcokAvthpsE/hGTBaH4rLW8a6Q9U2ssjdNTNPZimKGJSGicIYro=; 5:3woL9kc691jVCuTV1FBY6CSljDEowVIK/Ln4aHoxpqpYZWsGat9YocahSoN8rSqpzPjq7+mLwBiRa2/346A5LGlj8+VkiqvLQL9ac0S6/IqKApElU+6zWbr06qg9yci0WEC6Yb0w6j4XfyCwv/MQXQ==; 24:hWG1DuWpzNhWI2S9nPkUALPOwd9lnx7Y7AtrLVll5nG/JJo/lwGBvN/epigiAVDDQtujqJwGKmL/IErG6dAokGROr3rWhKhRTRA08h4Xjgg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0401MB1208; 7:/19D/HP97ehifKYhlSHTvl5YwkxZ0ok8qrW/JbDSr23LQDogj0H5p1BVO4f/oRU5Ckei6q36WVluJxQXWCIMAbDfuLYcpfOUxbCvT3qQeiW0mlwNH5W5alwEyMSqNDqTvcpngvO3AkMm5BCmJUhfKA22n/cuHEYqoFGjvoKattkoZZIoRcoRnEX8MrsGpJQFBo3zZ77bd3x3KxP3QJ+9Jico6WEsAP0O4i+6ZGUv7JcYieHYUDAaY+3Yk1mfV6TKVM87UP5rH3XBzMDCZDbEhy0ZHXYXf7qB9lbuHjXIx47B+KIk1u5/B90C8cfUx1oaYMtnCAVHdHEzedo4uALZ/A==; 20:GhlgUmKZXbn7HhwrIsZvk6cqo+5tjVwA/uqXrlp0oHIUKh1ELrvjMOdovyML12+ob3EV99BkEWi9efFgSEi0L0hwG5vLnACc9ASG5fHfobF6e3Oub5RNpAzBKBxB48a9KQUrmC0dQLom3MQjPgp+Nikkwb3C6yKjQamwmO8wNGg= X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2017 22:51:10.6584 (UTC) X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=b61c8803-16f3-4c35-9b17-6f65f441df86; Ip=[63.163.107.21]; Helo=[milsmgep15.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0401MB1208 Sender: target-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: target-devel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Fix the following deadlock: Reviewed-by: Hannes Reinecke ====================================================== [ INFO: possible circular locking dependency detected ] 4.10.0-rc7-dbg+ #1 Not tainted ------------------------------------------------------- rmdir/13321 is trying to acquire lock: (&sess->cmdsn_mutex){+.+.+.}, at: [] iscsit_free_all_ooo_cmdsns+0x2d/0xb0 [iscsi_target_mod] but task is already holding lock: (&sb->s_type->i_mutex_key#14){++++++}, at: [] vfs_rmdir+0x50/0x140 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&sb->s_type->i_mutex_key#14){++++++}: lock_acquire+0x71/0x90 down_write+0x3f/0x70 configfs_depend_item+0x3a/0xb0 [configfs] target_depend_item+0x13/0x20 [target_core_mod] target_xcopy_locate_se_dev_e4+0xdd/0x1a0 [target_core_mod] target_do_xcopy+0x34b/0x970 [target_core_mod] __target_execute_cmd+0x22/0xa0 [target_core_mod] target_execute_cmd+0x233/0x2c0 [target_core_mod] iscsit_execute_cmd+0x208/0x270 [iscsi_target_mod] iscsit_sequence_cmd+0x10b/0x190 [iscsi_target_mod] iscsit_get_rx_pdu+0x37d/0xcd0 [iscsi_target_mod] iscsi_target_rx_thread+0x6e/0xa0 [iscsi_target_mod] kthread+0x102/0x140 ret_from_fork+0x31/0x40 -> #0 (&sess->cmdsn_mutex){+.+.+.}: __lock_acquire+0x10e6/0x1260 lock_acquire+0x71/0x90 mutex_lock_nested+0x5f/0x670 iscsit_free_all_ooo_cmdsns+0x2d/0xb0 [iscsi_target_mod] iscsit_close_session+0xac/0x200 [iscsi_target_mod] lio_tpg_close_session+0x9f/0xb0 [iscsi_target_mod] target_shutdown_sessions+0xc3/0xd0 [target_core_mod] core_tpg_del_initiator_node_acl+0x91/0x140 [target_core_mod] target_fabric_nacl_base_release+0x20/0x30 [target_core_mod] config_item_release+0x5a/0xc0 [configfs] config_item_put+0x1d/0x1f [configfs] configfs_rmdir+0x1a6/0x300 [configfs] vfs_rmdir+0xb7/0x140 do_rmdir+0x1f4/0x200 SyS_rmdir+0x11/0x20 entry_SYSCALL_64_fastpath+0x23/0xc6 other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&sb->s_type->i_mutex_key#14); lock(&sess->cmdsn_mutex); lock(&sb->s_type->i_mutex_key#14); lock(&sess->cmdsn_mutex); *** DEADLOCK *** 3 locks held by rmdir/13321: #0: (sb_writers#10){.+.+.+}, at: [] mnt_want_write+0x1f/0x50 #1: (&default_group_class[depth - 1]#2/1){+.+.+.}, at: [] do_rmdir+0x15e/0x200 #2: (&sb->s_type->i_mutex_key#14){++++++}, at: [] vfs_rmdir+0x50/0x140 stack backtrace: CPU: 2 PID: 13321 Comm: rmdir Not tainted 4.10.0-rc7-dbg+ #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.0.0-prebuilt.qemu-project.org 04/01/2014 Call Trace: dump_stack+0x86/0xc3 print_circular_bug+0x1c7/0x220 __lock_acquire+0x10e6/0x1260 lock_acquire+0x71/0x90 mutex_lock_nested+0x5f/0x670 iscsit_free_all_ooo_cmdsns+0x2d/0xb0 [iscsi_target_mod] iscsit_close_session+0xac/0x200 [iscsi_target_mod] lio_tpg_close_session+0x9f/0xb0 [iscsi_target_mod] target_shutdown_sessions+0xc3/0xd0 [target_core_mod] core_tpg_del_initiator_node_acl+0x91/0x140 [target_core_mod] target_fabric_nacl_base_release+0x20/0x30 [target_core_mod] config_item_release+0x5a/0xc0 [configfs] config_item_put+0x1d/0x1f [configfs] configfs_rmdir+0x1a6/0x300 [configfs] vfs_rmdir+0xb7/0x140 do_rmdir+0x1f4/0x200 SyS_rmdir+0x11/0x20 entry_SYSCALL_64_fastpath+0x23/0xc6 Signed-off-by: Bart Van Assche Cc: Hannes Reinecke Cc: Christoph Hellwig Cc: Andy Grover Cc: David Disseldorp --- drivers/target/iscsi/iscsi_target_erl1.c | 20 +++++++++++++++++++- include/target/iscsi/iscsi_target_core.h | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/drivers/target/iscsi/iscsi_target_erl1.c b/drivers/target/iscsi/iscsi_target_erl1.c index fe9b7f1e44ac..454f493174db 100644 --- a/drivers/target/iscsi/iscsi_target_erl1.c +++ b/drivers/target/iscsi/iscsi_target_erl1.c @@ -912,6 +912,24 @@ int iscsit_execute_ooo_cmdsns(struct iscsi_session *sess) } /* + * Since iscsit_execute_cmd() can be called with cmdsn_mutex held, execute + * target_execute_cmd() asynchronously to avoid that target_do_xcopy() + * deadlocks. + */ +static void iscsit_execute_work(struct work_struct *w) +{ + struct iscsi_cmd *cmd = container_of(w, typeof(*cmd), work); + + target_execute_cmd(&cmd->se_cmd); +} + +static void iscsit_execute_cmd_async(struct iscsi_cmd *cmd) +{ + INIT_WORK(&cmd->work, iscsit_execute_work); + WARN_ON_ONCE(!schedule_work(&cmd->work)); +} + +/* * Called either: * * 1. With sess->cmdsn_mutex held from iscsi_execute_ooo_cmdsns() @@ -968,7 +986,7 @@ int iscsit_execute_cmd(struct iscsi_cmd *cmd, int ooo) if (cmd->immediate_data) { if (cmd->cmd_flags & ICF_GOT_LAST_DATAOUT) { spin_unlock_bh(&cmd->istate_lock); - target_execute_cmd(&cmd->se_cmd); + iscsit_execute_cmd_async(cmd); return 0; } spin_unlock_bh(&cmd->istate_lock); diff --git a/include/target/iscsi/iscsi_target_core.h b/include/target/iscsi/iscsi_target_core.h index 275581d483dd..da7bc5097f5d 100644 --- a/include/target/iscsi/iscsi_target_core.h +++ b/include/target/iscsi/iscsi_target_core.h @@ -349,6 +349,7 @@ struct iscsi_r2t { } ____cacheline_aligned; struct iscsi_cmd { + struct work_struct work; enum iscsi_timer_flags_table dataout_timer_flags; /* DataOUT timeout retries */ u8 dataout_timeout_retries;