From patchwork Mon Mar 5 08:50:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kalderon, Michal" X-Patchwork-Id: 10258401 X-Patchwork-Delegate: jgg@ziepe.ca 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 CB2E36037E for ; Mon, 5 Mar 2018 08:51:43 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BA5A4289A5 for ; Mon, 5 Mar 2018 08:51:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id ADFC5289A7; Mon, 5 Mar 2018 08:51:43 +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 17C8D289A5 for ; Mon, 5 Mar 2018 08:51:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932935AbeCEIvm (ORCPT ); Mon, 5 Mar 2018 03:51:42 -0500 Received: from mail-bl2nam02on0054.outbound.protection.outlook.com ([104.47.38.54]:13568 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932872AbeCEIvl (ORCPT ); Mon, 5 Mar 2018 03:51:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=BAWnFvGlDT+Qv3EC6YmmlhCdbRGBdct++KQjcKkjWEs=; b=AOW/ZS+bp5/Ei0Knyp4OOyFlq5wRjKZeaP9CNRm6RotlizyO/hnmsEV1xOQ7asUmMS85CNQ+DPuEtAgZYJPkgXsAWjuIbkXjCNVSJy3Oa/p5+RojYzwE8g0GwHBHo/LJiOIEKmS1Cf5cW/0dqVvbj7bl9fG/Moej6RpkyY69MPE= Received: from BY2PR07CA0081.namprd07.prod.outlook.com (2a01:111:e400:7bff::34) by BYAPR07MB4213.namprd07.prod.outlook.com (2603:10b6:a02:be::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.548.13; Mon, 5 Mar 2018 08:51:27 +0000 Received: from BN1BFFO11FD004.protection.gbl (2a01:111:f400:7c10::1:161) by BY2PR07CA0081.outlook.office365.com (2a01:111:e400:7bff::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.548.13 via Frontend Transport; Mon, 5 Mar 2018 08:51:27 +0000 Received-SPF: Fail (protection.outlook.com: domain of cavium.com does not designate 50.232.66.26 as permitted sender) receiver=protection.outlook.com; client-ip=50.232.66.26; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by BN1BFFO11FD004.mail.protection.outlook.com (10.58.144.67) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.20.527.18 via Frontend Transport; Mon, 5 Mar 2018 08:51:26 +0000 Received: from lb-tlvb-michal.il.qlogic.com.com (10.185.6.89) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.347.0; Mon, 5 Mar 2018 00:51:24 -0800 From: Michal Kalderon To: , , CC: , Michal Kalderon , Amit Radzi , Ariel Elior Subject: [PATCH for-rc 4/5] RDMA/qedr: Fix kernel panic when running fio over NFSoRDMA Date: Mon, 5 Mar 2018 10:50:10 +0200 Message-ID: <1520239811-10934-5-git-send-email-Michal.Kalderon@cavium.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1520239811-10934-1-git-send-email-Michal.Kalderon@cavium.com> References: <1520239811-10934-1-git-send-email-Michal.Kalderon@cavium.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(396003)(376002)(346002)(39380400002)(39850400004)(2980300002)(1110001)(1109001)(339900001)(199004)(189003)(106466001)(305945005)(107886003)(2950100002)(6666003)(59450400001)(6346003)(356003)(4326008)(47776003)(86362001)(336012)(69596002)(2201001)(5660300001)(48376002)(50466002)(2906002)(36756003)(105606002)(76176011)(51416003)(8936002)(186003)(77096007)(478600001)(316002)(72206003)(16586007)(104016004)(54906003)(110136005)(8676002)(26005)(50226002)(81156014)(81166006); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR07MB4213; H:CAEXCH02.caveonetworks.com; FPR:; SPF:Fail; PTR:50-232-66-26-static.hfc.comcastbusiness.net; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD004; 1:/du5tG/6QCyHh3KfP/BP+yaSoeaIzjnKmzkLqgATvq4k8PYhx6sxRSOen3Hy7sQluyGa9NA3X34dNKd/0yQ3b9N0qZvYTWAfBrmeIHiFmZ3WB4NJqOEFCpzHCT/LAPDp X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4a8321bb-323d-4c89-b9af-08d582764805 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060); SRVR:BYAPR07MB4213; X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB4213; 3:wXhXOlBb2u6C85HHEDlSQYYkCM4EFx4MT1JL365uLir84Oi+n+qpcAiTUFkwoyfJu2K/WX44yy5QbrMdzlHx2QE1BFUV5vbmY4zMVNLhltY+QYF+JJCkUaL1aPsETWa2nC2F3aDeSxM8H6yzsiiB9ePCebWu+lqJCOtZPHV0ZsJajaKrZeRiTmiczgL7PkISySpRJDQ7WCFK4uNc+HvsU23gy0Ss5pNCV5+gSZC+TnzGT8Vur6ZIbzVWiAo/vjExwzdIwy17RnquoutGnpA4l1U29QnoWZQD32qBNW7m67to+3JAsvhLWXpl+9C8jJxOvvnTM+6Qs90dL5+iLjhowY2fyv9mVfVIYXim2vLESEg=; 25:MdQmxRYEQ7L92PPPCEzbZIwMNWoaIvCRrtKiKL3c/5u6alzCpYTzy+Bh6lVYUhPkSRQAaTQco4wbTikydYJ71ib98WmYyhT/GjtagioiibMEdahZdWRt1jVHvUVUaYXYWd12qnv0GXVB921SRiQuckgf2ssnKj2CHmAQa7VrJaKlxZgnRRqB/BwJaGI8VlFGmumlJ7eD12mZVvIJTvExRChCND9SYSA0CAF5/+Lia9/1BzwVzDZWWubn+QKavuojzwJBv4M3oB3Ef3wfyAtR048PzSV8ut0NavZvjsOntgfU9G5YKD524whx8YNo0ueJn7UUp7F4iLyaXqE5+UeFeQ== X-MS-TrafficTypeDiagnostic: BYAPR07MB4213: X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB4213; 31:gthpOKg6VwZTkgBd0xVzCXsGAMaaAwg6Ax/p5iJhCAe5Yymd6GwwGceiCTpn/gdcrevIUuKaaB9hs050eJN8PXvoGRj0trMARtEJJRSsTIRRts55J0q0+gJdWDVV7cgjHkXSsxOLfor/SGxbk/ryfQHfv0iye6G3orzT5rHnVWA7omaKfDDW9fIbtb7GNHr5EjbqvV9cF/y4oTi27ohl/+b5YMMPh3BHHFZjmoFbJi8=; 20:lYZUtMs2kXfNrfCRbllJUfJsre8d324P87mEGUftlCdH+fOqh4eQDcRtAY1am05G4QLlKWDe+EIzGVBFjylMb+5P5fVQ3YlB8RmFTrAxYlmhCdA1CNNh2j2GL6RB0n6NxjdcdaXiO/mcbNYDFUT43MJfcfBZoDtHAh/DAPyvlabazUnjklkUntTKNHfS9fcJojq/PYf2FfF9kl/9zB5R4hlAtpj22nL/I9zNIVYdT06V21e85pv+oHmvA5k01ZqouL0sLsxCH+jiYpKmEi8Va92RfEKdX0inVoeg/iUEXl2ARA/rc1B16GvAJwgMYC1mXijxvTRbo2KrsuEnw+j8sSBDuhVKIf5qjb81ke4wx65ejxt/YHeLQIjBnySdLh7A8yfF9znuS5ullDBBSkh4gYnUOwnSp0bjlyxg5ileq2PA+w2PMwy/rXbuvc/JakDU8VUSBV/Iw9bFBI5X63XUutcXSjt2xLilH6UFhbHFwAOdpHsIer+iUUUhlz1DduEr X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231220)(944501244)(52105095)(10201501046)(3002001)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(6072148)(201708071742011); SRVR:BYAPR07MB4213; BCL:0; PCL:0; RULEID:; SRVR:BYAPR07MB4213; X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB4213; 4:dfQssJs1tcsy6R3CqNTajvqHqDvnufBKNqCg01XOARwxOZqUTQWktQSF71VdUH6WqwtUy+xwC8bttO/ktYMu56XW5Ka4cESv6oZ9wtoqAqsDxv5fBPLZGNOb5or4arySjqv+kIVyK8A3r/1NL1GqPogblZcX29bfOp4p5z4PynIVl7IxOBzZ51MqN/CVpixv8trHDeUeiXTT2ZOAT2NspBQXQTOxeiTNDFh6/TUX65qIF79m95ioTq6mStEJByRWYJIuG2aQRCdOHHIBVQlM3A== X-Forefront-PRVS: 06022AA85F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BYAPR07MB4213; 23:0Zu5JeXZGFXeehlbODDjwlHdHgJkmCHRkxKUiSCl2?= =?us-ascii?Q?PwsucXrdzkuCUby8BC/4AUcUUNCTKcHf/aAE8g6l84A3hs+HS9kMP7A3uyKJ?= =?us-ascii?Q?A/SRy1oJIrjSrPQgS2jRDBNUj3nNJsRDt5uABaYbXzKjdQ5P7yPLIpaecXqL?= =?us-ascii?Q?kzQSNTipn30ls1otgKw5tF6/fgkKlNLUetENInhtA+px+dcEkWHhGPMZ9jYQ?= =?us-ascii?Q?VBuhuK1z6cvXvMKlM7V7aAdOSgF1ZALLiwVT29x6k9PWtdwnPgM/0DcOZ+Q2?= =?us-ascii?Q?PcqLPNpXuFdLR1pfxjnUZhRTB9ilnnEI0dYdF+hCPXWGY8eiRQytUfYjqZE5?= =?us-ascii?Q?jq0zVsKnbxdCxVIa9l/g5Vt9Tm5+vl/r3k1HEexL2R88dvEQGGDKSA37NKJB?= =?us-ascii?Q?AtdZInwJprnR7fJzewmfOWbSlZRWJvE5c//OgRNlyQizYhkgowA1tHtfffTn?= =?us-ascii?Q?dSgo6xR4MLGER2DA9lkntHyiW8pci8mDiD4Uso2BitFHe38FD+totfzMIUyv?= =?us-ascii?Q?zlbbw4hlmFCo1EMyDAsNGSVH6wOLP9LecPQCHmBXO89Wz137Lj9d0EOVjgHi?= =?us-ascii?Q?MQPJ9x0uBtkx8fHLQRYutaj+xhrmjymzflKnzg6Zfs3+EZE4Y6InnuT3vIiB?= =?us-ascii?Q?n0hNvIEB+NZLMYO2bdqeMRN5V8Qi0kP2e8DY1ikeRFyRors4uEP7Djukcpge?= =?us-ascii?Q?Vbhoo3rxy75RNqFcEL17XSPgEorNMXZWpbrqlIQiVNHatp/dBPPJvPWsivxv?= =?us-ascii?Q?hlE0siagDBI0NZrHyEWK8n0Mw+ot3WX+VQXq2D2NhhXN8ORSgE4GnE3aLYtt?= =?us-ascii?Q?ltGNRbf32H3Zm5Vt06AwyrRHF8iGSMMmnE773+51CSt7PFgDq8ucFAv4wP0m?= =?us-ascii?Q?Hbw2A7IyRtVf0PMZzZs2iuqUBWIYPCbqxtSYMFU8n+9yraAPmJXrfD3CrQgO?= =?us-ascii?Q?l/C07t4JQOeQSsAIsrhh7DgcmifKhKjpv8HspCVdalXHBXMLuSuoCOsfyfN3?= =?us-ascii?Q?V77ab9Q3qFzMrUXwS+16KYNviWxWTIEY4mTkexwygZy6x0ctDtc6DG7WPjgU?= =?us-ascii?Q?uEl8vllKSWCWRwKq5zu3VlKGGiI9CCQZ3FNWxDqPpn2mhJNBeq/oHL/Fq4Sw?= =?us-ascii?Q?uEftESDZW0=3D?= X-Microsoft-Antispam-Message-Info: 1lYFVyUX1FZpwhvJERwLmFeHfTGeEuGX9gpyRj6bSnJvR0Ny+2hH0h+gqdFLzPMP3h7mI6A2etyRy9QpRACBlKsrGZwLqvsENs71Jv6g8nEZbuVf08fAmVlgXNrvfLBbbO8zJLx3WJi5lUXZgy43GwFEEzbTaou/KeqgYGNmDpZJKap44k7xSAJ3AqVYbutN X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB4213; 6:GAHk7JxVFFGbMtceE+szq+rWgNFu45zmN4yZ3S0kFDmHUj93PlkvZD7Fr75jrTVI94WYgXuxNWDpPS/48X7ESx5UphHsUq2SdSNGPi8XRQcImuQAmCOIjfhe2Ua9nAPPQkef7/RH1G3qzDc197yHgyCPZojyLHumCj2MZsc2kt5B8jLCT0esbv3EUqxFG50QhLft/il3FVbKS6w9De09Q8hdL4C+5p6tW/gSyEOc2Wt85ePIKjSp0E3fLWLqACqM3XiD6CXDWVOpzFnpoUGMqEec3BSirhbaLAvZTsb3Awr+ehMyEtYeyttsds+MpyEYaMFBb3L42zcEaNhH5fcrdB5VKFzmQFQ0ylTFhTowwdk=; 5:+Nlj8IMgqWGRSf+7o4e4/hzk3hlS/tCyITLN7GA33wpPo29b2T2QYsGEL9cebYK9q7fEnAmlXDhBNSsxxhrctL/VhHdY0b03vGYQICWZYi61QDeT6YwumuQMkqg0YhLCxlnZw74pZmDmEcCacV4xcFZVGsDRW3SScMw0Q0oJID4=; 24:vYV3fm2IyZYoR4YAFm/N4f+8zKXIQKP6kzW28tnC+qvrudAoJ2tlS6IC/jQl0WZVrh55c21Gbb9CpG7tysGBL3tmBS/7q42Q1N/ZHG+xyYM=; 7:IjEjzc4n45nTDZxrwxH0hgQbArZ7mh4wfwN/nxaZ1TSx2gpmaAQ7Sf7NOKOz+l+E09mqeKk4923kQEIyRpUmbdeUsrjJuU9yBVW1dFLogWH2b10QxLKvE0aj7kR/+kfkSK+jj/GPjukH4HrTEukm65suRqnZrsobFAu3+uYGY3vdGGur+fzuW19UEdMICVugfe+ZUVY1XCn3TMqTKXyFetV5Y4qFqY+aG8VGUgx8ynYk8lCGOfUQLI6dWFrxkYcw SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Mar 2018 08:51:26.5447 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4a8321bb-323d-4c89-b9af-08d582764805 X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=711e4ccf-2e9b-4bcf-a551-4094005b6194; Ip=[50.232.66.26]; Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR07MB4213 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Race in qedr_poll_cq, lastest_cqe wasn't protected by lock, leading to a case where two context's accessing poll_cq at the same time lead to one of them having a pointer to an old latest_cqe and reading an invalid cqe element Signed-off-by: Amit Radzi Signed-off-by: Michal Kalderon Signed-off-by: Ariel Elior --- drivers/infiniband/hw/qedr/verbs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c index 53f00db..102b9e0 100644 --- a/drivers/infiniband/hw/qedr/verbs.c +++ b/drivers/infiniband/hw/qedr/verbs.c @@ -3724,7 +3724,7 @@ int qedr_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) { struct qedr_dev *dev = get_qedr_dev(ibcq->device); struct qedr_cq *cq = get_qedr_cq(ibcq); - union rdma_cqe *cqe = cq->latest_cqe; + union rdma_cqe *cqe; u32 old_cons, new_cons; unsigned long flags; int update = 0; @@ -3741,6 +3741,7 @@ int qedr_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) return qedr_gsi_poll_cq(ibcq, num_entries, wc); spin_lock_irqsave(&cq->cq_lock, flags); + cqe = cq->latest_cqe; old_cons = qed_chain_get_cons_idx_u32(&cq->pbl); while (num_entries && is_valid_cqe(cq, cqe)) { struct qedr_qp *qp;