[dpdk-stable] patch 'net/tap: fix queues fd check before close' has been queued to LTS release 18.11.9
Kevin Traynor
ktraynor at redhat.com
Thu May 28 18:23:12 CEST 2020
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 <wangyunjian at huawei.com>
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 <wangyunjian at huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
---
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 at 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)
More information about the stable
mailing list