From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id F3EFAA0093 for ; Thu, 28 May 2020 18:26:18 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EC8C41DC1A; Thu, 28 May 2020 18:26:18 +0200 (CEST) Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) by dpdk.org (Postfix) with ESMTP id 627301D996 for ; Thu, 28 May 2020 18:26:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1590683176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gOvIUgEZfprtKIMcYGCKnfJwGzmbB5pHj+bAJfgX9OE=; b=Iykqjvb56I+j0OULPYqVcRIW2PEB4fnVE6e0PYo0BMttknht4229kmuAo9TrchPNQvtEeV PtDDHT4OiTKefNjAkJLQ3i6JOVscMziytAHtMcBaGwdaLpFBElD3zC9r28V/8QV8RTGhKL 0I1gl3vor46J6KeQXsKttHkdxqJUZAU= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-285-Q-O6Tx5ZOA2yAWt6jTvr-A-1; Thu, 28 May 2020 12:26:13 -0400 X-MC-Unique: Q-O6Tx5ZOA2yAWt6jTvr-A-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C2B4E18FE863; Thu, 28 May 2020 16:26:11 +0000 (UTC) Received: from rh.redhat.com (unknown [10.33.36.235]) by smtp.corp.redhat.com (Postfix) with ESMTP id DF17560C05; Thu, 28 May 2020 16:26:10 +0000 (UTC) From: Kevin Traynor To: Yunjian Wang Cc: Ferruh Yigit , dpdk stable Date: Thu, 28 May 2020 17:23:12 +0100 Message-Id: <20200528162322.7863-85-ktraynor@redhat.com> In-Reply-To: <20200528162322.7863-1-ktraynor@redhat.com> References: <20200528162322.7863-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/tap: fix queues fd check before close' has been queued to LTS release 18.11.9 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: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to LTS release 18.11.9 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 06/03/20. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable-queue This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable-queue/commit/b60cfb01821d469beefd622b09c9446fe140f42a Thanks. Kevin. --- >From b60cfb01821d469beefd622b09c9446fe140f42a Mon Sep 17 00:00:00 2001 From: Yunjian Wang Date: Fri, 17 Apr 2020 20:03:57 +0800 Subject: [PATCH] net/tap: fix queues fd check before close [ upstream commit 13b698d11feca4ab12237303d553dc4e89d8a8d6 ] The fd is possibly a negative value while it is passed as an argument to function "close". Fix the check to the fd. Fixes: ed8132e7c912 ("net/tap: move fds of queues to be in process private") Signed-off-by: Yunjian Wang Reviewed-by: Ferruh Yigit --- drivers/net/tap/rte_eth_tap.c | 4 ++-- drivers/net/tap/tap_intr.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c index d3adde8eb5..b0c3c8c703 100644 --- a/drivers/net/tap/rte_eth_tap.c +++ b/drivers/net/tap/rte_eth_tap.c @@ -1077,5 +1077,5 @@ tap_rx_queue_release(void *queue) return; process_private = rte_eth_devices[rxq->in_port].process_private; - if (process_private->rxq_fds[rxq->queue_id] > 0) { + if (process_private->rxq_fds[rxq->queue_id] != -1) { close(process_private->rxq_fds[rxq->queue_id]); process_private->rxq_fds[rxq->queue_id] = -1; @@ -1097,5 +1097,5 @@ tap_tx_queue_release(void *queue) process_private = rte_eth_devices[txq->out_port].process_private; - if (process_private->txq_fds[txq->queue_id] > 0) { + if (process_private->txq_fds[txq->queue_id] != -1) { close(process_private->txq_fds[txq->queue_id]); process_private->txq_fds[txq->queue_id] = -1; diff --git a/drivers/net/tap/tap_intr.c b/drivers/net/tap/tap_intr.c index 58f36d3ccb..5cf4f173a0 100644 --- a/drivers/net/tap/tap_intr.c +++ b/drivers/net/tap/tap_intr.c @@ -72,5 +72,5 @@ tap_rx_intr_vec_install(struct rte_eth_dev *dev) /* Skip queues that cannot request interrupts. */ - if (!rxq || process_private->rxq_fds[i] <= 0) { + if (!rxq || process_private->rxq_fds[i] == -1) { /* Use invalid intr_vec[] index to disable entry. */ intr_handle->intr_vec[i] = -- 2.21.3 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-05-28 17:13:03.512690859 +0100 +++ 0085-net-tap-fix-queues-fd-check-before-close.patch 2020-05-28 17:12:59.176554703 +0100 @@ -1 +1 @@ -From 13b698d11feca4ab12237303d553dc4e89d8a8d6 Mon Sep 17 00:00:00 2001 +From b60cfb01821d469beefd622b09c9446fe140f42a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 13b698d11feca4ab12237303d553dc4e89d8a8d6 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index e644f8875b..7081ae23e9 100644 +index d3adde8eb5..b0c3c8c703 100644 @@ -23 +24 @@ -@@ -1090,5 +1090,5 @@ tap_rx_queue_release(void *queue) +@@ -1077,5 +1077,5 @@ tap_rx_queue_release(void *queue) @@ -30 +31 @@ -@@ -1110,5 +1110,5 @@ tap_tx_queue_release(void *queue) +@@ -1097,5 +1097,5 @@ tap_tx_queue_release(void *queue)