From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f196.google.com (mail-wr0-f196.google.com [209.85.128.196]) by dpdk.org (Postfix) with ESMTP id 506331B298 for ; Mon, 30 Oct 2017 16:37:45 +0100 (CET) Received: by mail-wr0-f196.google.com with SMTP id k62so13030930wrc.9 for ; Mon, 30 Oct 2017 08:37:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=zMGdGrU6t1g64Y58BHg5fRDNPCn370e4qB8w5nrwQqo=; b=A9lYSQVKOMezhMoSjnvjZYy2wS8JxTbFYIkmMb/gs8s2NE9vYuCXIha/LiNgaomffg a8DSJolMkOfF97t0L5eclAVCRV8nhH+f25iuMu1klhja43DPLQ1s0mgvMhmPQ60VoTgb y9JuyhI0puvBUAwTl/QglwkFA3AlyO0nrbFI8oztURrJazcwH+UmlLK2Us3pp1i53SAE abuoFIWSoteS6RPdM9OWA9om3BYndxYlYcIXm4BxR2HmTgiOKgSGTckmldIb8uI4xgAf AO3QF2/Rk8yFTui4PeE+r+f9Mx4Hr+6wtwPzNyVWcbG2L3jKftDrAs5PrCBDlbaqbob0 G9Qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=zMGdGrU6t1g64Y58BHg5fRDNPCn370e4qB8w5nrwQqo=; b=s2+0JN7Ab0afE+MMP2zf0iSgJOZtqd0MjRfp1+a+SSkmwcIbh8SXNkT0YySfMgQSW9 ABdh9HFPqQdE4JHmgmwpnnAnIl4LBPAIU30CFodVImK/g8m+F8w2/rBP8/aWMCTlyLBd +RugULluCt0puW2y8kqXrhPVg5waQTFmVauptgqvw2TS6Nhw3xHYQ/45nUgaQHIaRWcY 5ssQ0UOuLNrU8N/3vdkKfuCWXT7dHCETAfCzdE/BsqRFaSJlO2TJrEyeqvvEn7SWYkzk 6UgawsbS1MyCDB9PA6ZaF+OPDb3My2/6w7IH85ExvfGzxRWdjlqjYZ4XIxsbksvnQ9Uw gGkA== X-Gm-Message-State: AMCzsaUz4rpnSA4l49tsPkjKPg3HQdi7MJZxDH35muiKY+Cnca3GD2H9 Z28CprWXjSvtwYUjZyNz2V/OuuCBgG0= X-Google-Smtp-Source: ABhQp+Qn6LncMplh/Wpd1CtAG8PhdIweSW+3AV9lpf2HxBbI9f0U9oq9PGPle4V/QtITx5eC4HrvVA== X-Received: by 10.223.132.135 with SMTP id 7mr8665061wrg.74.1509377864994; Mon, 30 Oct 2017 08:37:44 -0700 (PDT) Received: from localhost ([2a00:23c5:bef3:400:4a51:b7ff:fe0b:4749]) by smtp.gmail.com with ESMTPSA id q15sm5170383wmd.28.2017.10.30.08.37.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 30 Oct 2017 08:37:44 -0700 (PDT) From: luca.boccassi@gmail.com To: Ajit Khaparde Cc: dpdk stable Date: Mon, 30 Oct 2017 15:34:38 +0000 Message-Id: <20171030153511.13322-35-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171030153511.13322-1-luca.boccassi@gmail.com> References: <20171030153511.13322-1-luca.boccassi@gmail.com> Subject: [dpdk-stable] patch 'net/bnxt: fix interrupt handler' has been queued to LTS release 16.11.4 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2017 15:37:45 -0000 Hi, FYI, your patch has been queued to LTS release 16.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/01/17. So please shout if anyone has objections. Thanks. Kind regards, Luca Boccassi --- >>From 49bc598713e936fcf09e20edade0902588579a4d Mon Sep 17 00:00:00 2001 From: Ajit Khaparde Date: Thu, 28 Sep 2017 16:43:42 -0500 Subject: [PATCH] net/bnxt: fix interrupt handler [ upstream commit f7ecea911ec52fc94aba82cc65211e613f8b56df ] In some cases the interrupt handler is accessing cpr, which has already been freed causing segfaults. This patch avoids such accesses. Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification") Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_cpr.c | 2 ++ drivers/net/bnxt/bnxt_irq.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/drivers/net/bnxt/bnxt_cpr.c b/drivers/net/bnxt/bnxt_cpr.c index 3aedcb8df..0139344ae 100644 --- a/drivers/net/bnxt/bnxt_cpr.c +++ b/drivers/net/bnxt/bnxt_cpr.c @@ -123,8 +123,10 @@ void bnxt_free_def_cp_ring(struct bnxt *bp) return; bnxt_free_ring(cpr->cp_ring_struct); + cpr->cp_ring_struct = NULL; rte_free(cpr->cp_ring_struct); rte_free(cpr); + bp->def_cp_ring = NULL; } /* For the default completion ring only */ diff --git a/drivers/net/bnxt/bnxt_irq.c b/drivers/net/bnxt/bnxt_irq.c index e93585a0b..7e1482782 100644 --- a/drivers/net/bnxt/bnxt_irq.c +++ b/drivers/net/bnxt/bnxt_irq.c @@ -56,6 +56,9 @@ static void bnxt_int_handler(struct rte_intr_handle *handle __rte_unused, struct cmpl_base *cmp; while (1) { + if (!cpr || !cpr->cp_ring_struct) + return; + cons = RING_CMP(cpr->cp_ring_struct, raw_cons); cmp = &cpr->cp_desc_ring[cons]; -- 2.11.0