* patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2
@ 2025-02-13 9:57 Kevin Traynor
2025-02-13 9:57 ` patch 'test/ring: fix init with custom number of lcores' " Kevin Traynor
` (120 more replies)
0 siblings, 121 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Robin Jarry; +Cc: Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/53bc170b2ac01ebfd8867bff3217a37900a9a005
Thanks.
Kevin
---
From 53bc170b2ac01ebfd8867bff3217a37900a9a005 Mon Sep 17 00:00:00 2001
From: Robin Jarry <rjarry@redhat.com>
Date: Fri, 29 Nov 2024 17:10:14 +0100
Subject: [PATCH] log: fix double free on cleanup
[ upstream commit ba9fb2795b9f751836c0949c0c531da7af52a4f2 ]
Fix the following crash when closing a log file after rte_eal_cleanup():
double free or corruption (!prev)
Thread 1 "grout" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>,
signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
...
#10 _IO_new_fclose (fp=0xb63090) at iofclose.c:74
#11 0x000000000049c04e in dpdk_fini () at ../main/dpdk.c:204
#12 0x0000000000402ab8 in main (...) at ../main/main.c:217
(gdb) up 11
#11 0x000000000049c04e in dpdk_fini () at ../main/dpdk.c:204
202 rte_eal_cleanup();
203 if (log_stream != NULL)
204 fclose(log_stream);
When the application has passed a custom file via rte_openlog_stream()
DPDK should not call fclose() on it.
Add an internal is_internal_file field to track whether the file has
been allocated by DPDK (syslog or journald) to determine if it should be
closed or not.
Fixes: 985130369be3 ("log: rework syslog handling")
Signed-off-by: Robin Jarry <rjarry@redhat.com>
Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
---
lib/log/log.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/lib/log/log.c b/lib/log/log.c
index eb087d601e..e1c18a8e53 100644
--- a/lib/log/log.c
+++ b/lib/log/log.c
@@ -39,4 +39,5 @@ static struct rte_logs {
uint32_t level; /**< Log level. */
FILE *file; /**< Output file set by rte_openlog_stream, or NULL. */
+ bool is_internal_file;
log_print_t print_func;
size_t dynamic_types_len;
@@ -81,6 +82,9 @@ int
rte_openlog_stream(FILE *f)
{
+ if (rte_logs.is_internal_file && rte_logs.file != NULL)
+ fclose(rte_logs.file);
rte_logs.file = f;
rte_logs.print_func = vfprintf;
+ rte_logs.is_internal_file = false;
return 0;
}
@@ -521,4 +525,5 @@ eal_log_init(const char *id)
if (logf) {
rte_openlog_stream(logf);
+ rte_logs.is_internal_file = true;
} else {
bool is_terminal = isatty(fileno(stderr));
@@ -551,10 +556,7 @@ void
rte_eal_log_cleanup(void)
{
- FILE *log_stream = rte_logs.file;
-
- /* don't close stderr on the application */
- if (log_stream != NULL)
- fclose(log_stream);
-
+ if (rte_logs.is_internal_file && rte_logs.file != NULL)
+ fclose(rte_logs.file);
rte_logs.file = NULL;
+ rte_logs.is_internal_file = false;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:34.775525635 +0000
+++ 0001-log-fix-double-free-on-cleanup.patch 2025-02-12 17:29:34.106944474 +0000
@@ -1 +1 @@
-From ba9fb2795b9f751836c0949c0c531da7af52a4f2 Mon Sep 17 00:00:00 2001
+From 53bc170b2ac01ebfd8867bff3217a37900a9a005 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ba9fb2795b9f751836c0949c0c531da7af52a4f2 ]
+
@@ -31 +32,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'vhost: clear ring addresses when getting vring base' " Kevin Traynor
` (119 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Konstantin Ananyev
Cc: Phanendra Vukkisala, Morten Brørup, Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/bed72526225fe09eb08064290605a6be92825ad5
Thanks.
Kevin
---
From bed72526225fe09eb08064290605a6be92825ad5 Mon Sep 17 00:00:00 2001
From: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Date: Fri, 6 Dec 2024 13:35:54 -0500
Subject: [PATCH] test/ring: fix init with custom number of lcores
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 2cf3a8d35d2db1cee1523e6e9ef5553432fbf56f ]
ring_stress_autotest fails to initialize the ring when RTE_MAX_LCORE value
is not a number of 2.
There is a flaw in calculation required number of elements in the ring.
Fix it by aligning number of elements to next power of 2.
Fixes: bf28df24e915 ("test/ring: add contention stress test")
Reported-by: Phanendra Vukkisala <pvukkisala@marvell.com>
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
app/test/test_ring_stress_impl.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/test/test_ring_stress_impl.h b/app/test/test_ring_stress_impl.h
index 8b0bfb11fe..ee5274aeef 100644
--- a/app/test/test_ring_stress_impl.h
+++ b/app/test/test_ring_stress_impl.h
@@ -298,5 +298,5 @@ mt1_init(struct rte_ring **rng, void **data, uint32_t num)
/* alloc ring */
- nr = 2 * num;
+ nr = rte_align32pow2(2 * num);
sz = rte_ring_get_memsize(nr);
r = rte_zmalloc(NULL, sz, alignof(typeof(*r)));
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:34.875919482 +0000
+++ 0002-test-ring-fix-init-with-custom-number-of-lcores.patch 2025-02-12 17:29:34.107944480 +0000
@@ -1 +1 @@
-From 2cf3a8d35d2db1cee1523e6e9ef5553432fbf56f Mon Sep 17 00:00:00 2001
+From bed72526225fe09eb08064290605a6be92825ad5 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 2cf3a8d35d2db1cee1523e6e9ef5553432fbf56f ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'vhost: clear ring addresses when getting vring base' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
2025-02-13 9:57 ` patch 'test/ring: fix init with custom number of lcores' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'vhost: check GSO size validity' " Kevin Traynor
` (118 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Jianping Zhao; +Cc: Maxime Coquelin, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/f57032f4378a07608aa907883fd9a762ade4b962
Thanks.
Kevin
---
From f57032f4378a07608aa907883fd9a762ade4b962 Mon Sep 17 00:00:00 2001
From: Jianping Zhao <zhao305149619@gmail.com>
Date: Wed, 27 Nov 2024 10:03:49 +0800
Subject: [PATCH] vhost: clear ring addresses when getting vring base
[ upstream commit 1846fe767f00a9d0dade333e7838f81e6721b694 ]
Clear ring addresses during vring base retrieval to handle guest reboot
scenarios correctly. This is particularly important for vdpa-blk devices
where the following issue occurs:
When a guest OS with vdpa-blk device reboots, during UEFI stage, only
one vring is actually used and configured. However, QEMU still sends
enable messages for all configured queues. The remaining queues retain
their addresses from before reboot, which reference invalid memory
mappings in the rebooted guest.
The issue manifests in vq_is_ready():
static bool
vq_is_ready(struct virtio_net *dev, struct vhost_virtqueue *vq)
{
/* Only checks pointer validity, not address freshness */
rings_ok = vq->desc && vq->avail && vq->used;
...
}
vq_is_ready() incorrectly considers these queues as ready because it
only checks if desc/avail/used pointers are non-NULL, but cannot
detect that these addresses are stale from the previous boot.
Clear the ring addresses in vhost_user_get_vring_base() to force
the guest driver to reconfigure them before use. This ensures that
vq_is_ready() will return false for queues with stale addresses
until they are properly reconfigured by the guest driver.
Fixes: 3ea7052f4b1b ("vhost: postpone rings addresses translation")
Signed-off-by: Jianping Zhao <zhao305149619@gmail.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
.mailmap | 1 +
lib/vhost/vhost_user.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/.mailmap b/.mailmap
index 818798273f..1a1744df4d 100644
--- a/.mailmap
+++ b/.mailmap
@@ -674,4 +674,5 @@ Jianfeng Tan <jianfeng.tan@intel.com>
Jiang Yu <yux.jiang@intel.com>
Jiangu Zhao <zhaojg@arraynetworks.com.cn>
+Jianping Zhao <zhao305149619@gmail.com>
Jianwei Ma <jianwei.ma@intel.com>
Jianwei Mei <jianweix.mei@intel.com>
diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c
index 6d92ad904e..52d8078d7c 100644
--- a/lib/vhost/vhost_user.c
+++ b/lib/vhost/vhost_user.c
@@ -2278,4 +2278,5 @@ vhost_user_get_vring_base(struct virtio_net **pdev,
rte_rwlock_write_lock(&vq->access_lock);
vring_invalidate(dev, vq);
+ memset(&vq->ring_addrs, 0, sizeof(struct vhost_vring_addr));
rte_rwlock_write_unlock(&vq->access_lock);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:34.969644619 +0000
+++ 0003-vhost-clear-ring-addresses-when-getting-vring-base.patch 2025-02-12 17:29:34.118944545 +0000
@@ -1 +1 @@
-From 1846fe767f00a9d0dade333e7838f81e6721b694 Mon Sep 17 00:00:00 2001
+From f57032f4378a07608aa907883fd9a762ade4b962 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1846fe767f00a9d0dade333e7838f81e6721b694 ]
+
@@ -36 +37,0 @@
-Cc: stable@dpdk.org
@@ -46 +47 @@
-index b90ff0444c..cc1ffe1ad9 100644
+index 818798273f..1a1744df4d 100644
@@ -49 +50 @@
-@@ -675,4 +675,5 @@ Jianfeng Tan <jianfeng.tan@intel.com>
+@@ -674,4 +674,5 @@ Jianfeng Tan <jianfeng.tan@intel.com>
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'vhost: check GSO size validity' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
2025-02-13 9:57 ` patch 'test/ring: fix init with custom number of lcores' " Kevin Traynor
2025-02-13 9:57 ` patch 'vhost: clear ring addresses when getting vring base' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'vhost: fix log when setting max queue num' " Kevin Traynor
` (117 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Yunjian Wang; +Cc: Maxime Coquelin, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/a9d22c1962dc77bf3475927745bc3b45bc775f82
Thanks.
Kevin
---
From a9d22c1962dc77bf3475927745bc3b45bc775f82 Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Fri, 20 Dec 2024 11:45:09 +0800
Subject: [PATCH] vhost: check GSO size validity
[ upstream commit 7023f3e532787eec7be674efb7a4aa54f1626b6c ]
The value of tso_segsz cannot be 0, instead check that value of
gso_size was set.
Fixes: d0cf91303d73 ("vhost: add Tx offload capabilities")
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
lib/vhost/virtio_net.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c
index 69901ab3b5..2ac5bc29a3 100644
--- a/lib/vhost/virtio_net.c
+++ b/lib/vhost/virtio_net.c
@@ -2734,4 +2734,7 @@ vhost_dequeue_offload_legacy(struct virtio_net *dev, struct virtio_net_hdr *hdr,
if (hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) {
+ if (hdr->gso_size == 0)
+ goto error;
+
switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) {
case VIRTIO_NET_HDR_GSO_TCPV4:
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:35.076795539 +0000
+++ 0004-vhost-check-GSO-size-validity.patch 2025-02-12 17:29:34.124944581 +0000
@@ -1 +1 @@
-From 7023f3e532787eec7be674efb7a4aa54f1626b6c Mon Sep 17 00:00:00 2001
+From a9d22c1962dc77bf3475927745bc3b45bc775f82 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7023f3e532787eec7be674efb7a4aa54f1626b6c ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'vhost: fix log when setting max queue num' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (2 preceding siblings ...)
2025-02-13 9:57 ` patch 'vhost: check GSO size validity' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'vhost: reset packets count when not ready' " Kevin Traynor
` (116 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Maxime Coquelin; +Cc: Ilya Maximets, Chenbo Xia, Kevin Traynor, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/821f370cbf4f3031197c8980dec2827fe03b811b
Thanks.
Kevin
---
From 821f370cbf4f3031197c8980dec2827fe03b811b Mon Sep 17 00:00:00 2001
From: Maxime Coquelin <maxime.coquelin@redhat.com>
Date: Thu, 9 Jan 2025 15:31:30 +0100
Subject: [PATCH] vhost: fix log when setting max queue num
[ upstream commit 274292190d1384b028552adc601dda4b197f2417 ]
rte_vhost_driver_set_max_queue_num API returns early when
called for a Vhost-user device, as this API is intended to
limit the maximum number of queue pairs supported by VDUSE
devices. However, a log mentioning the maximum number of
queue pairs is being set is emitted unconditionally, which
may confuse the end user.
This patch moves this log after the backend type is
checked, so that it is only called with VDUSE backends.
The check on the requested value is also moved at the same
place.
Fixes: e1808999d36b ("vhost: restrict set max queue pair API to VDUSE")
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Ilya Maximets <i.maximets@ovn.org>
Reviewed-by: Chenbo Xia <chenbox@nvidia.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
---
lib/vhost/socket.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/lib/vhost/socket.c b/lib/vhost/socket.c
index d29d15494c..05a7e5902f 100644
--- a/lib/vhost/socket.c
+++ b/lib/vhost/socket.c
@@ -845,12 +845,4 @@ rte_vhost_driver_set_max_queue_num(const char *path, uint32_t max_queue_pairs)
int ret = 0;
- VHOST_CONFIG_LOG(path, INFO, "Setting max queue pairs to %u", max_queue_pairs);
-
- if (max_queue_pairs > VHOST_MAX_QUEUE_PAIRS) {
- VHOST_CONFIG_LOG(path, ERR, "Library only supports up to %u queue pairs",
- VHOST_MAX_QUEUE_PAIRS);
- return -1;
- }
-
pthread_mutex_lock(&vhost_user.mutex);
vsocket = find_vhost_user_socket(path);
@@ -873,4 +865,13 @@ rte_vhost_driver_set_max_queue_num(const char *path, uint32_t max_queue_pairs)
}
+ VHOST_CONFIG_LOG(path, INFO, "Setting max queue pairs to %u", max_queue_pairs);
+
+ if (max_queue_pairs > VHOST_MAX_QUEUE_PAIRS) {
+ VHOST_CONFIG_LOG(path, ERR, "Library only supports up to %u queue pairs",
+ VHOST_MAX_QUEUE_PAIRS);
+ ret = -1;
+ goto unlock_exit;
+ }
+
vsocket->max_queue_pairs = max_queue_pairs;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:35.181348861 +0000
+++ 0005-vhost-fix-log-when-setting-max-queue-num.patch 2025-02-12 17:29:34.125944587 +0000
@@ -1 +1 @@
-From 274292190d1384b028552adc601dda4b197f2417 Mon Sep 17 00:00:00 2001
+From 821f370cbf4f3031197c8980dec2827fe03b811b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 274292190d1384b028552adc601dda4b197f2417 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'vhost: reset packets count when not ready' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (3 preceding siblings ...)
2025-02-13 9:57 ` patch 'vhost: fix log when setting max queue num' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'crypto/cnxk: fix build with GCC 15' " Kevin Traynor
` (115 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Maxime Coquelin; +Cc: David Marchand, Chenbo Xia, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/5198bb13959d8cdaafac0a3ef0b9f1ecfbc14792
Thanks.
Kevin
---
From 5198bb13959d8cdaafac0a3ef0b9f1ecfbc14792 Mon Sep 17 00:00:00 2001
From: Maxime Coquelin <maxime.coquelin@redhat.com>
Date: Thu, 16 Jan 2025 10:54:14 +0100
Subject: [PATCH] vhost: reset packets count when not ready
[ upstream commit 8b96508af6021d868052545a76ef2ce5219b7702 ]
This patch fixes the rte_vhost_dequeue_burst return value
when the virtqueue is not ready. Without it, a discrepancy
between the packet array and its size is faced by the caller
of this API when the virtqueue is not ready.
Fixes: 9fc93a1e2320 ("vhost: fix virtqueue access check in datapath")
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Chenbo Xia <chenbox@nvidia.com>
---
lib/vhost/virtio_net.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c
index 2ac5bc29a3..d85c0c9d42 100644
--- a/lib/vhost/virtio_net.c
+++ b/lib/vhost/virtio_net.c
@@ -3633,4 +3633,6 @@ rte_vhost_dequeue_burst(int vid, uint16_t queue_id,
virtio_dev_vring_translate(dev, vq);
+
+ count = 0;
goto out_no_unlock;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:35.297422934 +0000
+++ 0006-vhost-reset-packets-count-when-not-ready.patch 2025-02-12 17:29:34.132944629 +0000
@@ -1 +1 @@
-From 8b96508af6021d868052545a76ef2ce5219b7702 Mon Sep 17 00:00:00 2001
+From 5198bb13959d8cdaafac0a3ef0b9f1ecfbc14792 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8b96508af6021d868052545a76ef2ce5219b7702 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'crypto/cnxk: fix build with GCC 15' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (4 preceding siblings ...)
2025-02-13 9:57 ` patch 'vhost: reset packets count when not ready' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/thunderx/base: " Kevin Traynor
` (114 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: David Marchand, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/6e0d453c34146d4faabe1ab28d49c55e11ff542c
Thanks.
Kevin
---
From 6e0d453c34146d4faabe1ab28d49c55e11ff542c Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 20 Jan 2025 15:23:38 -0800
Subject: [PATCH] crypto/cnxk: fix build with GCC 15
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 224e37a6a442b6a1f6d179b1756383f1a80cf3ed ]
GCC 15 produces warnings about uninitialized variables.
In file included from ../lib/mbuf/rte_mbuf.h:36,
from ../lib/cryptodev/rte_crypto.h:15,
from ../lib/cryptodev/rte_cryptodev.h:19,
from ../drivers/crypto/cnxk/cn9k_cryptodev_ops.c:5:
In function ‘pdcp_chain_sg1_prep’,
inlined from ‘cpt_pdcp_chain_alg_prep’ at ../drivers/crypto/cnxk/cnxk_se.h:1621:11,
inlined from ‘fill_pdcp_chain_params’ at ../drivers/crypto/cnxk/cnxk_se.h:3114:8,
inlined from ‘cpt_sym_inst_fill’ at ../drivers/crypto/cnxk/cnxk_se.h:3364:9,
inlined from ‘cn9k_cpt_inst_prep’ at ../drivers/crypto/cnxk/cn9k_cryptodev_ops.c:93:10:
../lib/eal/include/rte_common.h:469:38: warning: ‘fc_params.meta_buf.vaddr’ may be used uninitialized [-Wmaybe-uninitialized]
469 | #define RTE_PTR_ADD(ptr, x) ((void*)((uintptr_t)(ptr) + (x)))
| ^~~~~~~~~~~~~~~~
../drivers/common/cnxk/roc_platform.h:47:34: note: in expansion of macro ‘RTE_PTR_ADD’
47 | #define PLT_PTR_ADD RTE_PTR_ADD
| ^~~~~~~~~~~
../drivers/crypto/cnxk/cnxk_se.h:900:19: note: in expansion of macro ‘PLT_PTR_ADD’
900 | m_vaddr = PLT_PTR_ADD(m_vaddr, ROC_SE_OFF_CTRL_LEN + PLT_ALIGN_CEIL(hdr_len, 8));
| ^~~~~~~~~~~
In file included from ../drivers/crypto/cnxk/cn9k_cryptodev_ops.c:20:
../drivers/crypto/cnxk/cnxk_se.h: In function ‘cn9k_cpt_inst_prep’:
../drivers/crypto/cnxk/cnxk_se.h:3008:33: note: ‘fc_params.meta_buf.vaddr’ was declared here
3008 | struct roc_se_fc_params fc_params;
| ^~~~~~~~~
In function ‘pdcp_chain_sg1_prep’,
inlined from ‘cpt_pdcp_chain_alg_prep’ at ../drivers/crypto/cnxk/cnxk_se.h:1621:11,
inlined from ‘fill_pdcp_chain_params’ at ../drivers/crypto/cnxk/cnxk_se.h:3114:8,
inlined from ‘cpt_sym_inst_fill’ at ../drivers/crypto/cnxk/cnxk_se.h:3364:9,
inlined from ‘cn9k_cpt_inst_prep’ at ../drivers/crypto/cnxk/cn9k_cryptodev_ops.c:82:10:
../lib/eal/include/rte_common.h:469:38: warning: ‘fc_params.meta_buf.vaddr’ may be used uninitialized [-Wmaybe-uninitialized]
469 | #define RTE_PTR_ADD(ptr, x) ((void*)((uintptr_t)(ptr) + (x)))
| ^~~~~~~~~~~~~~~~
../drivers/common/cnxk/roc_platform.h:47:34: note: in expansion of macro ‘RTE_PTR_ADD’
47 | #define PLT_PTR_ADD RTE_PTR_ADD
| ^~~~~~~~~~~
../drivers/crypto/cnxk/cnxk_se.h:900:19: note: in expansion of macro ‘PLT_PTR_ADD’
900 | m_vaddr = PLT_PTR_ADD(m_vaddr, ROC_SE_OFF_CTRL_LEN + PLT_ALIGN_CEIL(hdr_len, 8));
| ^~~~~~~~~~~
../drivers/crypto/cnxk/cnxk_se.h: In function ‘cn9k_cpt_inst_prep’:
../drivers/crypto/cnxk/cnxk_se.h:3008:33: note: ‘fc_params.meta_buf.vaddr’ was declared here
3008 | struct roc_se_fc_params fc_params;
| ^~~~~~~~~
Fixes: d3bff77cc371 ("crypto/cnxk: separate out PDCP chain datapath")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: David Marchand <david.marchand@redhat.com>
---
drivers/crypto/cnxk/cnxk_se.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/crypto/cnxk/cnxk_se.h b/drivers/crypto/cnxk/cnxk_se.h
index 7262a49945..649e38c495 100644
--- a/drivers/crypto/cnxk/cnxk_se.h
+++ b/drivers/crypto/cnxk/cnxk_se.h
@@ -3006,5 +3006,5 @@ fill_pdcp_chain_params(struct rte_crypto_op *cop, struct cnxk_se_sess *sess,
uint32_t ci_data_length, ci_data_offset, a_data_length, a_data_offset;
struct rte_crypto_sym_op *sym_op = cop->sym;
- struct roc_se_fc_params fc_params;
+ struct roc_se_fc_params fc_params = { };
struct rte_mbuf *m_src, *m_dst;
uint8_t cpt_op = sess->cpt_op;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:35.395580012 +0000
+++ 0007-crypto-cnxk-fix-build-with-GCC-15.patch 2025-02-12 17:29:34.137944659 +0000
@@ -1 +1 @@
-From 224e37a6a442b6a1f6d179b1756383f1a80cf3ed Mon Sep 17 00:00:00 2001
+From 6e0d453c34146d4faabe1ab28d49c55e11ff542c Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 224e37a6a442b6a1f6d179b1756383f1a80cf3ed ]
+
@@ -54 +55,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/thunderx/base: fix build with GCC 15' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (5 preceding siblings ...)
2025-02-13 9:57 ` patch 'crypto/cnxk: fix build with GCC 15' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'examples/flow_filtering: " Kevin Traynor
` (113 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: David Marchand, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/ee7a18ee163429aeaf0a78b627c5274ff01be11d
Thanks.
Kevin
---
From ee7a18ee163429aeaf0a78b627c5274ff01be11d Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 20 Jan 2025 15:23:39 -0800
Subject: [PATCH] net/thunderx/base: fix build with GCC 15
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit e7133f8fb39f506dc1eef02c2927acda949ca000 ]
Gcc 15 now produces warning with the base code of Thunderx driver.
The issue is that Gcc now defaults to C23 mode, and the standards
gods have decided that the result of partial initialization of a union
is not defined for other fields.
The fix is to use an empty initializer which forces full initialization.
[2377/3224] Compiling C object drivers/net/thunderx/base/libnicvf_base.a.p/nicvf_mbox.c.o
In function ‘nicvf_mbox_send_msg_to_pf_raw’,
inlined from ‘nicvf_mbox_send_async_msg_to_pf’ at ../drivers/net/thunderx/base/nicvf_mbox.c:70:2,
inlined from ‘nicvf_mbox_cfg_done’ at ../drivers/net/thunderx/base/nicvf_mbox.c:468:2:
../drivers/net/thunderx/base/nicvf_mbox.c:59:17: warning: ‘mbx’ is used uninitialized [-Wuninitialized]
59 | nicvf_reg_write(nic, mbx_addr, *mbx_data);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/net/thunderx/base/nicvf_mbox.c: In function ‘nicvf_mbox_cfg_done’:
../drivers/net/thunderx/base/nicvf_mbox.c:465:24: note: ‘mbx’ declared here
465 | struct nic_mbx mbx = { .msg = { 0 } };
| ^~~
In function ‘nicvf_mbox_send_msg_to_pf_raw’,
inlined from ‘nicvf_mbox_send_async_msg_to_pf’ at ../drivers/net/thunderx/base/nicvf_mbox.c:70:2,
inlined from ‘nicvf_mbox_link_change’ at ../drivers/net/thunderx/base/nicvf_mbox.c:477:2:
../drivers/net/thunderx/base/nicvf_mbox.c:59:17: warning: ‘mbx’ is used uninitialized [-Wuninitialized]
59 | nicvf_reg_write(nic, mbx_addr, *mbx_data);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/net/thunderx/base/nicvf_mbox.c: In function ‘nicvf_mbox_link_change’:
../drivers/net/thunderx/base/nicvf_mbox.c:474:24: note: ‘mbx’ declared here
474 | struct nic_mbx mbx = { .msg = { 0 } };
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: David Marchand <david.marchand@redhat.com>
---
drivers/net/thunderx/base/nicvf_mbox.c | 42 +++++++++++++-------------
1 file changed, 21 insertions(+), 21 deletions(-)
diff --git a/drivers/net/thunderx/base/nicvf_mbox.c b/drivers/net/thunderx/base/nicvf_mbox.c
index 0e0176974d..29407f75fa 100644
--- a/drivers/net/thunderx/base/nicvf_mbox.c
+++ b/drivers/net/thunderx/base/nicvf_mbox.c
@@ -213,5 +213,5 @@ nicvf_mbox_set_mac_addr(struct nicvf *nic,
const uint8_t mac[NICVF_MAC_ADDR_SIZE])
{
- struct nic_mbx mbx = { .msg = {0} };
+ struct nic_mbx mbx = { };
int i;
@@ -227,5 +227,5 @@ int
nicvf_mbox_config_cpi(struct nicvf *nic, uint32_t qcnt)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.msg.msg = NIC_MBOX_MSG_CPI_CFG;
@@ -240,5 +240,5 @@ int
nicvf_mbox_get_rss_size(struct nicvf *nic)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.msg.msg = NIC_MBOX_MSG_RSS_SIZE;
@@ -252,5 +252,5 @@ int
nicvf_mbox_config_rss(struct nicvf *nic)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
struct nicvf_rss_reta_info *rss = &nic->rss_info;
size_t tot_len = rss->rss_size;
@@ -285,5 +285,5 @@ nicvf_mbox_rq_config(struct nicvf *nic, uint16_t qidx,
struct pf_rq_cfg *pf_rq_cfg)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.msg.msg = NIC_MBOX_MSG_RQ_CFG;
@@ -297,5 +297,5 @@ int
nicvf_mbox_sq_config(struct nicvf *nic, uint16_t qidx)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.msg.msg = NIC_MBOX_MSG_SQ_CFG;
@@ -310,5 +310,5 @@ int
nicvf_mbox_qset_config(struct nicvf *nic, struct pf_qs_cfg *qs_cfg)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
@@ -326,5 +326,5 @@ int
nicvf_mbox_request_sqs(struct nicvf *nic)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
size_t i;
@@ -347,5 +347,5 @@ int
nicvf_mbox_rq_drop_config(struct nicvf *nic, uint16_t qidx, bool enable)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
struct pf_rq_drop_cfg *drop_cfg;
@@ -366,5 +366,5 @@ int
nicvf_mbox_update_hw_max_frs(struct nicvf *nic, uint16_t mtu)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.msg.msg = NIC_MBOX_MSG_SET_MAX_FRS;
@@ -377,5 +377,5 @@ int
nicvf_mbox_rq_sync(struct nicvf *nic)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
/* Make sure all packets in the pipeline are written back into mem */
@@ -388,5 +388,5 @@ int
nicvf_mbox_rq_bp_config(struct nicvf *nic, uint16_t qidx, bool enable)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.msg.msg = NIC_MBOX_MSG_RQ_BP_CFG;
@@ -402,5 +402,5 @@ int
nicvf_mbox_loopback_config(struct nicvf *nic, bool enable)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.lbk.msg = NIC_MBOX_MSG_LOOPBACK;
@@ -415,5 +415,5 @@ nicvf_mbox_reset_stat_counters(struct nicvf *nic, uint16_t rx_stat_mask,
uint16_t sq_stat_mask)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.reset_stat.msg = NIC_MBOX_MSG_RESET_STAT_COUNTER;
@@ -428,5 +428,5 @@ int
nicvf_mbox_set_link_up_down(struct nicvf *nic, bool enable)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.lbk.msg = NIC_MBOX_MSG_SET_LINK;
@@ -440,5 +440,5 @@ int
nicvf_mbox_change_mode(struct nicvf *nic, struct change_link_mode *cfg)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.mode.msg = NIC_MBOX_MSG_CHANGE_MODE;
@@ -454,5 +454,5 @@ void
nicvf_mbox_shutdown(struct nicvf *nic)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.msg.msg = NIC_MBOX_MSG_SHUTDOWN;
@@ -463,5 +463,5 @@ void
nicvf_mbox_cfg_done(struct nicvf *nic)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.msg.msg = NIC_MBOX_MSG_CFG_DONE;
@@ -472,5 +472,5 @@ void
nicvf_mbox_link_change(struct nicvf *nic)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.msg.msg = NIC_MBOX_MSG_BGX_LINK_CHANGE;
@@ -481,5 +481,5 @@ void
nicvf_mbox_reset_xcast(struct nicvf *nic)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.msg.msg = NIC_MBOX_MSG_RESET_XCAST;
@@ -490,5 +490,5 @@ int
nicvf_mbox_set_xcast(struct nicvf *nic, uint8_t mode, uint64_t mac)
{
- struct nic_mbx mbx = { .msg = { 0 } };
+ struct nic_mbx mbx = { };
mbx.xcast.msg = NIC_MBOX_MSG_SET_XCAST;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:35.488014849 +0000
+++ 0008-net-thunderx-base-fix-build-with-GCC-15.patch 2025-02-12 17:29:34.138944665 +0000
@@ -1 +1 @@
-From e7133f8fb39f506dc1eef02c2927acda949ca000 Mon Sep 17 00:00:00 2001
+From ee7a18ee163429aeaf0a78b627c5274ff01be11d Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit e7133f8fb39f506dc1eef02c2927acda949ca000 ]
+
@@ -36,2 +37,0 @@
-
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'examples/flow_filtering: fix build with GCC 15' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (6 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/thunderx/base: " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'eal/x86: fix some intrinsics header include for Windows' " Kevin Traynor
` (112 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: David Marchand, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/6f318c9adf412a2ba2372914c559c6ae77d775e3
Thanks.
Kevin
---
From 6f318c9adf412a2ba2372914c559c6ae77d775e3 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 20 Jan 2025 15:23:40 -0800
Subject: [PATCH] examples/flow_filtering: fix build with GCC 15
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit e931818831336de2732ca29082e47799359d9c71 ]
Gcc 15 no longer allows initialization of arrays with strings
because the null character is dropped.
Resolve by using an array initializer.
../examples/flow_filtering/snippets/snippet_match_mpls.c: In function ‘snippet_mpls_create_pattern_template’:
../examples/flow_filtering/snippets/snippet_match_mpls.c:62:31: warning: initializer-string for array of ‘unsigned char’ is too long [-Wunterminated-string-initialization]
62 | .label_tc_s = "\xff\xff\xf1",
| ^~~~~~~~~~~~~~
Fixes: 16158f349000 ("examples/flow_filtering: introduce use cases snippets")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: David Marchand <david.marchand@redhat.com>
---
examples/flow_filtering/snippets/snippet_match_mpls.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/examples/flow_filtering/snippets/snippet_match_mpls.c b/examples/flow_filtering/snippets/snippet_match_mpls.c
index a2e429f686..8382ec7041 100644
--- a/examples/flow_filtering/snippets/snippet_match_mpls.c
+++ b/examples/flow_filtering/snippets/snippet_match_mpls.c
@@ -60,5 +60,5 @@ snippet_mpls_create_pattern_template(uint16_t port_id, struct rte_flow_error *er
* and the Bottom of Stack bit set to 1.
*/
- .label_tc_s = "\xff\xff\xf1",
+ .label_tc_s = { 0xff, 0xff, 0xf1 },
};
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:35.590044515 +0000
+++ 0009-examples-flow_filtering-fix-build-with-GCC-15.patch 2025-02-12 17:29:34.139944671 +0000
@@ -1 +1 @@
-From e931818831336de2732ca29082e47799359d9c71 Mon Sep 17 00:00:00 2001
+From 6f318c9adf412a2ba2372914c559c6ae77d775e3 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit e931818831336de2732ca29082e47799359d9c71 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'eal/x86: fix some intrinsics header include for Windows' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (7 preceding siblings ...)
2025-02-13 9:57 ` patch 'examples/flow_filtering: " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/ena: fix missing default LLQ policy' " Kevin Traynor
` (111 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Andre Muezerie; +Cc: Pier Damouny, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/21948b12f36c9ef19aa44997516a8b54f379e3ca
Thanks.
Kevin
---
From 21948b12f36c9ef19aa44997516a8b54f379e3ca Mon Sep 17 00:00:00 2001
From: Andre Muezerie <andremue@linux.microsoft.com>
Date: Tue, 14 Jan 2025 08:21:13 -0800
Subject: [PATCH] eal/x86: fix some intrinsics header include for Windows
[ upstream commit 5b856206c74bbcf19e12cafa15382a7e15b0a1b5 ]
Error reported:
../lib/net/net_crc_sse.c:49:17: error: call to undeclared function
'_mm_clmulepi64_si128'; ISO C99 and later do not support implicit
function declarations [-Wimplicit-function-declaration]
The fix is to remove the unnecessary ifdef around the inclusion of
header file immintrin.h. This header also contains functions that do
not require AVX instructions, so should not be included only when AVX
is available.
Bugzilla ID: 1595
Fixes: da826b7135a4 ("eal: introduce ymm type for AVX 256-bit")
Reported-by: Pier Damouny <pdamouny@nvidia.com>
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
.mailmap | 2 +-
lib/eal/x86/include/rte_vect.h | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/.mailmap b/.mailmap
index 1a1744df4d..d1a3a005d5 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1192,5 +1192,5 @@ Phanendra Vukkisala <pvukkisala@marvell.com>
Phil Yang <phil.yang@arm.com>
Philip Prindeville <philipp@redfish-solutions.com>
-Pier Damouny <pdamouny@nvidia.com>
+Pier Damouny <pdamouny@nvidia.com>
Pierre Pfister <ppfister@cisco.com>
Piotr Azarewicz <piotr.azarewicz@intel.com> <piotrx.t.azarewicz@intel.com>
diff --git a/lib/eal/x86/include/rte_vect.h b/lib/eal/x86/include/rte_vect.h
index 5ac3ccfd82..5fdcd632ac 100644
--- a/lib/eal/x86/include/rte_vect.h
+++ b/lib/eal/x86/include/rte_vect.h
@@ -20,7 +20,5 @@
#if defined(__ICC) || defined(_WIN64)
#include <smmintrin.h> /* SSE4 */
-#if defined(__AVX__)
#include <immintrin.h>
-#endif
#else
#include <x86intrin.h>
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:35.682544542 +0000
+++ 0010-eal-x86-fix-some-intrinsics-header-include-for-Windo.patch 2025-02-12 17:29:34.144944700 +0000
@@ -1 +1 @@
-From 5b856206c74bbcf19e12cafa15382a7e15b0a1b5 Mon Sep 17 00:00:00 2001
+From 21948b12f36c9ef19aa44997516a8b54f379e3ca Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5b856206c74bbcf19e12cafa15382a7e15b0a1b5 ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -29 +30 @@
-index cc1ffe1ad9..94e12acbd4 100644
+index 1a1744df4d..d1a3a005d5 100644
@@ -32 +33 @@
-@@ -1193,5 +1193,5 @@ Phanendra Vukkisala <pvukkisala@marvell.com>
+@@ -1192,5 +1192,5 @@ Phanendra Vukkisala <pvukkisala@marvell.com>
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/ena: fix missing default LLQ policy' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (8 preceding siblings ...)
2025-02-13 9:57 ` patch 'eal/x86: fix some intrinsics header include for Windows' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/nfp: fix VF link speed' " Kevin Traynor
` (110 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Shai Brandes; +Cc: Yosef Raisman, Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/08a31a7f9256574ce3dccf7738e95bfdb417d490
Thanks.
Kevin
---
From 08a31a7f9256574ce3dccf7738e95bfdb417d490 Mon Sep 17 00:00:00 2001
From: Shai Brandes <shaibran@amazon.com>
Date: Thu, 12 Dec 2024 17:24:55 +0200
Subject: [PATCH] net/ena: fix missing default LLQ policy
[ upstream commit c4f16ab009ad53446157c6fcde85435b1ca8c780 ]
The driver failed to set a default llq_header_policy,
causing LLQ to be disabled when the devarg value is
not specified by the application.
Fixes: d7918d19d25e ("net/ena: restructure LLQ policy user setting")
Signed-off-by: Yosef Raisman <yraisman@amazon.com>
Signed-off-by: Shai Brandes <shaibran@amazon.com>
Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
---
.mailmap | 1 +
drivers/net/ena/ena_ethdev.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/.mailmap b/.mailmap
index d1a3a005d5..23cbd690f2 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1761,4 +1761,5 @@ Yong Xu <yong.xu@corigine.com>
Yong Zhang <zhang.yong25@zte.com.cn>
Yoni Gilad <yonig@radcom.com>
+Yosef Raisman <yraisman@amazon.com>
Youri Querry <youri.querry_1@nxp.com>
Yuanhan Liu <yliu@fridaylinux.org> <yuanhan.liu@linux.intel.com>
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index bba48ea1cc..aea2e5c929 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -2331,4 +2331,5 @@ static int eth_ena_dev_init(struct rte_eth_dev *eth_dev)
/* Assign default devargs values */
adapter->missing_tx_completion_to = ENA_TX_TIMEOUT;
+ adapter->llq_header_policy = ENA_LLQ_POLICY_RECOMMENDED;
/* Get user bypass */
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:35.779720165 +0000
+++ 0011-net-ena-fix-missing-default-LLQ-policy.patch 2025-02-12 17:29:34.151944742 +0000
@@ -1 +1 @@
-From c4f16ab009ad53446157c6fcde85435b1ca8c780 Mon Sep 17 00:00:00 2001
+From 08a31a7f9256574ce3dccf7738e95bfdb417d490 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c4f16ab009ad53446157c6fcde85435b1ca8c780 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 94e12acbd4..6afecb5a3e 100644
+index d1a3a005d5..23cbd690f2 100644
@@ -25 +26 @@
-@@ -1762,4 +1762,5 @@ Yong Xu <yong.xu@corigine.com>
+@@ -1761,4 +1761,5 @@ Yong Xu <yong.xu@corigine.com>
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/nfp: fix VF link speed' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (9 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/ena: fix missing default LLQ policy' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'test/bonding: fix active backup receive test' " Kevin Traynor
` (109 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Long Wu; +Cc: Chaoyong He, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/054215a0333cf1a063155fb24b27bfc896868570
Thanks.
Kevin
---
From 054215a0333cf1a063155fb24b27bfc896868570 Mon Sep 17 00:00:00 2001
From: Long Wu <long.wu@corigine.com>
Date: Wed, 18 Dec 2024 14:52:55 +0800
Subject: [PATCH] net/nfp: fix VF link speed
[ upstream commit c43d2aab426bdc6e22142b4c5667d6d1634248de ]
The previous logic does not update the 'rte_eth_device' link status
when the port link status changed, which cause the firmware won't be
notified by the PMD.
Furthermore, the physical representor port should also notify firmware
its current speed with multi-pf firmware.
Fix these problems by modify the related logic, also add needed helper
function at the same time.
Fixes: eae7dadbe987 ("net/nfp: update link status reporting")
Signed-off-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
---
drivers/net/nfp/flower/nfp_flower_ctrl.c | 14 ++++++++++++++
.../net/nfp/flower/nfp_flower_representor.c | 19 +++++++++++++++++--
.../net/nfp/flower/nfp_flower_representor.h | 3 +++
drivers/net/nfp/nfp_net_common.c | 11 ++++++++++-
4 files changed, 44 insertions(+), 3 deletions(-)
diff --git a/drivers/net/nfp/flower/nfp_flower_ctrl.c b/drivers/net/nfp/flower/nfp_flower_ctrl.c
index 92887ce1be..21bf26b738 100644
--- a/drivers/net/nfp/flower/nfp_flower_ctrl.c
+++ b/drivers/net/nfp/flower/nfp_flower_ctrl.c
@@ -421,4 +421,6 @@ nfp_flower_cmsg_port_mod_rx(struct nfp_net_hw_priv *hw_priv,
uint32_t port;
uint32_t index;
+ uint16_t link_status;
+ struct rte_eth_dev *eth_dev;
struct nfp_flower_representor *repr;
struct nfp_flower_cmsg_port_mod *msg;
@@ -457,4 +459,6 @@ nfp_flower_cmsg_port_mod_rx(struct nfp_net_hw_priv *hw_priv,
repr->link.link_duplex = RTE_ETH_LINK_FULL_DUPLEX;
+
+ link_status = repr->link.link_status;
if ((msg->info & NFP_FLOWER_CMSG_PORT_MOD_INFO_LINK) != 0)
repr->link.link_status = RTE_ETH_LINK_UP;
@@ -462,4 +466,14 @@ nfp_flower_cmsg_port_mod_rx(struct nfp_net_hw_priv *hw_priv,
repr->link.link_status = RTE_ETH_LINK_DOWN;
+ if (link_status != repr->link.link_status) {
+ eth_dev = rte_eth_dev_get_by_name(repr->name);
+ if (eth_dev == NULL) {
+ PMD_DRV_LOG(ERR, "Can not get 'eth_dev' by name %s.", repr->name);
+ return -EINVAL;
+ }
+
+ nfp_flower_repr_link_update(eth_dev, 0);
+ }
+
return 0;
}
diff --git a/drivers/net/nfp/flower/nfp_flower_representor.c b/drivers/net/nfp/flower/nfp_flower_representor.c
index 4017f602a2..9601aa5f96 100644
--- a/drivers/net/nfp/flower/nfp_flower_representor.c
+++ b/drivers/net/nfp/flower/nfp_flower_representor.c
@@ -25,4 +25,19 @@ struct nfp_repr_init {
};
+bool
+nfp_flower_repr_is_pf(struct rte_eth_dev *dev)
+{
+ struct nfp_net_hw_priv *hw_priv;
+ struct nfp_flower_representor *repr;
+
+ hw_priv = dev->process_private;
+ repr = dev->data->dev_private;
+
+ if (hw_priv->pf_dev->multi_pf.enabled)
+ return repr->repr_type == NFP_REPR_TYPE_PHYS_PORT;
+ else
+ return repr->repr_type == NFP_REPR_TYPE_PF;
+}
+
static int
nfp_repr_get_eeprom_len(struct rte_eth_dev *dev)
@@ -113,5 +128,5 @@ nfp_flower_repr_led_off(struct rte_eth_dev *dev)
}
-static int
+int
nfp_flower_repr_link_update(struct rte_eth_dev *dev,
__rte_unused int wait_to_complete)
@@ -126,5 +141,5 @@ nfp_flower_repr_link_update(struct rte_eth_dev *dev,
ret = nfp_net_link_update_common(dev, link, link->link_status);
- if (repr->repr_type == NFP_REPR_TYPE_PF)
+ if (nfp_flower_repr_is_pf(dev))
nfp_net_notify_port_speed(repr->app_fw_flower->pf_hw, link);
diff --git a/drivers/net/nfp/flower/nfp_flower_representor.h b/drivers/net/nfp/flower/nfp_flower_representor.h
index 3f6ee32fe4..a7416eccab 100644
--- a/drivers/net/nfp/flower/nfp_flower_representor.h
+++ b/drivers/net/nfp/flower/nfp_flower_representor.h
@@ -33,4 +33,7 @@ bool nfp_flower_repr_is_vf(struct nfp_flower_representor *repr);
bool nfp_flower_repr_is_phy(struct nfp_flower_representor *repr);
int nfp_flower_repr_stats_reset(struct rte_eth_dev *ethdev);
+int nfp_flower_repr_link_update(struct rte_eth_dev *dev,
+ __rte_unused int wait_to_complete);
+bool nfp_flower_repr_is_pf(struct rte_eth_dev *dev);
#endif /* __NFP_FLOWER_REPRESENTOR_H__ */
diff --git a/drivers/net/nfp/nfp_net_common.c b/drivers/net/nfp/nfp_net_common.c
index e68ce68229..aaa515bac2 100644
--- a/drivers/net/nfp/nfp_net_common.c
+++ b/drivers/net/nfp/nfp_net_common.c
@@ -160,4 +160,13 @@ static const uint32_t nfp_net_link_speed_nfp2rte[] = {
};
+static bool
+nfp_net_is_pf(struct rte_eth_dev *dev)
+{
+ if (rte_eth_dev_is_repr(dev))
+ return nfp_flower_repr_is_pf(dev);
+
+ return ((struct nfp_net_hw_priv *)dev->process_private)->is_pf;
+}
+
static size_t
nfp_net_link_speed_rte2nfp(uint32_t speed)
@@ -827,5 +836,5 @@ nfp_net_link_update_common(struct rte_eth_dev *dev,
hw_priv = dev->process_private;
if (link->link_status == RTE_ETH_LINK_UP) {
- if (hw_priv->is_pf)
+ if (nfp_net_is_pf(dev))
nfp_net_pf_speed_update(dev, hw_priv, link);
else
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:35.887269014 +0000
+++ 0012-net-nfp-fix-VF-link-speed.patch 2025-02-12 17:29:34.160944796 +0000
@@ -1 +1 @@
-From c43d2aab426bdc6e22142b4c5667d6d1634248de Mon Sep 17 00:00:00 2001
+From 054215a0333cf1a063155fb24b27bfc896868570 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c43d2aab426bdc6e22142b4c5667d6d1634248de ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'test/bonding: fix active backup receive test' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (10 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/nfp: fix VF link speed' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/bonding: fix dedicated queue setup' " Kevin Traynor
` (108 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Huisong Li, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/8ed4c26a454c42d24c0dcb27d8d7983f5237432a
Thanks.
Kevin
---
From 8ed4c26a454c42d24c0dcb27d8d7983f5237432a Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Fri, 13 Dec 2024 09:17:14 -0800
Subject: [PATCH] test/bonding: fix active backup receive test
[ upstream commit eb29e625ce41b50898efc8e2618b7eeb128460ed ]
The test had incorrect assumptions about how active backup
should work. When in active backup mode, the secondary (not primary)
ports should be ignored. The test was always broken since initially
written but earlier bug was masking the part of the test which
tested non-primary ports.
Bugzilla ID: 1589
Fixes: 112ce3917674 ("test/bonding: fix loop on members")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Huisong Li <lihuisong@huawei.com>
Tested-by: Huisong Li <lihuisong@huawei.com>
---
app/test/test_link_bonding.c | 69 ++++++++++++++++++------------------
1 file changed, 34 insertions(+), 35 deletions(-)
diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c
index b752a5ecbf..19b064771a 100644
--- a/app/test/test_link_bonding.c
+++ b/app/test/test_link_bonding.c
@@ -2247,47 +2247,46 @@ test_activebackup_rx_burst(void)
&gen_pkt_burst[0], burst_size);
+ /* Expect burst if this was the active port, zero otherwise */
+ unsigned int rx_expect
+ = (test_params->member_port_ids[i] == primary_port) ? burst_size : 0;
+
/* Call rx burst on bonding device */
- TEST_ASSERT_EQUAL(rte_eth_rx_burst(test_params->bonding_port_id, 0,
- &rx_pkt_burst[0], MAX_PKT_BURST), burst_size,
- "rte_eth_rx_burst failed");
+ unsigned int rx_count = rte_eth_rx_burst(test_params->bonding_port_id, 0,
+ &rx_pkt_burst[0], MAX_PKT_BURST);
+ TEST_ASSERT_EQUAL(rx_count, rx_expect,
+ "rte_eth_rx_burst (%u) not as expected (%u)",
+ rx_count, rx_expect);
- if (test_params->member_port_ids[i] == primary_port) {
- /* Verify bonding device rx count */
- rte_eth_stats_get(test_params->bonding_port_id, &port_stats);
- TEST_ASSERT_EQUAL(port_stats.ipackets, (uint64_t)burst_size,
- "Bonding Port (%d) ipackets value (%u) not as expected (%d)",
+ /* Verify bonding device rx count */
+ rte_eth_stats_get(test_params->bonding_port_id, &port_stats);
+ TEST_ASSERT_EQUAL(port_stats.ipackets, rx_expect,
+ "Bonding Port (%d) ipackets value (%u) not as expected (%u)",
test_params->bonding_port_id,
- (unsigned int)port_stats.ipackets, burst_size);
+ (unsigned int)port_stats.ipackets, rx_expect);
- /* Verify bonding member devices rx count */
- for (j = 0; j < test_params->bonding_member_count; j++) {
- rte_eth_stats_get(test_params->member_port_ids[j], &port_stats);
- if (i == j) {
- TEST_ASSERT_EQUAL(port_stats.ipackets, (uint64_t)burst_size,
- "Member Port (%d) ipackets value (%u) not as "
- "expected (%d)",
- test_params->member_port_ids[i],
- (unsigned int)port_stats.ipackets,
- burst_size);
- } else {
- TEST_ASSERT_EQUAL(port_stats.ipackets, 0,
- "Member Port (%d) ipackets value (%u) not as "
- "expected (%d)\n",
- test_params->member_port_ids[i],
- (unsigned int)port_stats.ipackets, 0);
- }
- }
- } else {
- for (j = 0; j < test_params->bonding_member_count; j++) {
- rte_eth_stats_get(test_params->member_port_ids[j], &port_stats);
+ for (j = 0; j < test_params->bonding_member_count; j++) {
+ rte_eth_stats_get(test_params->member_port_ids[j], &port_stats);
+ if (i == j) {
+ TEST_ASSERT_EQUAL(port_stats.ipackets, rx_expect,
+ "Member Port (%d) ipackets (%u) not as expected (%d)",
+ test_params->member_port_ids[i],
+ (unsigned int)port_stats.ipackets, rx_expect);
+
+ /* reset member device stats */
+ rte_eth_stats_reset(test_params->member_port_ids[j]);
+ } else {
TEST_ASSERT_EQUAL(port_stats.ipackets, 0,
- "Member Port (%d) ipackets value (%u) not as expected "
- "(%d)", test_params->member_port_ids[i],
- (unsigned int)port_stats.ipackets, 0);
+ "Member Port (%d) ipackets (%u) not as expected (%d)",
+ test_params->member_port_ids[i],
+ (unsigned int)port_stats.ipackets, 0);
}
}
- /* free mbufs */
- rte_pktmbuf_free_bulk(rx_pkt_burst, burst_size);
+ /* extract packets queued to inactive member */
+ if (rx_count == 0)
+ rx_count = rte_eth_rx_burst(test_params->member_port_ids[i], 0,
+ rx_pkt_burst, MAX_PKT_BURST);
+ if (rx_count > 0)
+ rte_pktmbuf_free_bulk(rx_pkt_burst, rx_count);
/* reset bonding device stats */
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:35.994134793 +0000
+++ 0013-test-bonding-fix-active-backup-receive-test.patch 2025-02-12 17:29:34.166944832 +0000
@@ -1 +1 @@
-From eb29e625ce41b50898efc8e2618b7eeb128460ed Mon Sep 17 00:00:00 2001
+From 8ed4c26a454c42d24c0dcb27d8d7983f5237432a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit eb29e625ce41b50898efc8e2618b7eeb128460ed ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/bonding: fix dedicated queue setup' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (11 preceding siblings ...)
2025-02-13 9:57 ` patch 'test/bonding: fix active backup receive test' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/hns3: fix mbuf freeing in simple Tx path' " Kevin Traynor
` (107 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Long Wu; +Cc: Chaoyong He, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/f47b48eff78e68d006a2db292c0293f93f8ba3e3
Thanks.
Kevin
---
From f47b48eff78e68d006a2db292c0293f93f8ba3e3 Mon Sep 17 00:00:00 2001
From: Long Wu <long.wu@corigine.com>
Date: Thu, 26 Dec 2024 09:26:18 +0800
Subject: [PATCH] net/bonding: fix dedicated queue setup
[ upstream commit 4da0705bf896327af062212b5a1e6cb1f1366aa5 ]
The bonding PMD hardcoded the value of dedicated hardware Rx/Tx
queue size as (128/512). This will cause the bonding port start
fail if some NIC requires more Rx/Tx descriptors than the hardcoded
number.
Therefore, use the minimum hardware queue size of the member port
to initialize dedicated hardware Rx/Tx queue. If obtaining the
minimum queue size failed, use the default queue size.
Fixes: 112891cd27e5 ("net/bonding: add dedicated HW queues for LACP control")
Signed-off-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
---
drivers/net/bonding/rte_eth_bond_8023ad.h | 3 +++
drivers/net/bonding/rte_eth_bond_pmd.c | 25 ++++++++++++++++++++---
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.h b/drivers/net/bonding/rte_eth_bond_8023ad.h
index 5432eafcfe..f827229671 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.h
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.h
@@ -36,4 +36,7 @@ extern "C" {
#define MARKER_TLV_TYPE_RESP 0x02
+#define SLOW_TX_QUEUE_HW_DEFAULT_SIZE 512
+#define SLOW_RX_QUEUE_HW_DEFAULT_SIZE 512
+
typedef void (*rte_eth_bond_8023ad_ext_slowrx_fn)(uint16_t member_id,
struct rte_mbuf *lacp_pkt);
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 91bf2c2345..9d72140b82 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1685,8 +1685,24 @@ member_configure_slow_queue(struct rte_eth_dev *bonding_eth_dev,
if (internals->mode4.dedicated_queues.enabled == 1) {
+ struct rte_eth_dev_info member_info = {};
+ uint16_t nb_rx_desc = SLOW_RX_QUEUE_HW_DEFAULT_SIZE;
+ uint16_t nb_tx_desc = SLOW_TX_QUEUE_HW_DEFAULT_SIZE;
+
+ errval = rte_eth_dev_info_get(member_eth_dev->data->port_id,
+ &member_info);
+ if (errval != 0) {
+ RTE_BOND_LOG(ERR,
+ "rte_eth_dev_info_get: port=%d, err (%d)",
+ member_eth_dev->data->port_id,
+ errval);
+ return errval;
+ }
+
+ if (member_info.rx_desc_lim.nb_min != 0)
+ nb_rx_desc = member_info.rx_desc_lim.nb_min;
+
/* Configure slow Rx queue */
-
errval = rte_eth_rx_queue_setup(member_eth_dev->data->port_id,
- internals->mode4.dedicated_queues.rx_qid, 128,
+ internals->mode4.dedicated_queues.rx_qid, nb_rx_desc,
rte_eth_dev_socket_id(member_eth_dev->data->port_id),
NULL, port->slow_pool);
@@ -1700,6 +1716,9 @@ member_configure_slow_queue(struct rte_eth_dev *bonding_eth_dev,
}
+ if (member_info.tx_desc_lim.nb_min != 0)
+ nb_tx_desc = member_info.tx_desc_lim.nb_min;
+
errval = rte_eth_tx_queue_setup(member_eth_dev->data->port_id,
- internals->mode4.dedicated_queues.tx_qid, 512,
+ internals->mode4.dedicated_queues.tx_qid, nb_tx_desc,
rte_eth_dev_socket_id(member_eth_dev->data->port_id),
NULL);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:36.098107725 +0000
+++ 0014-net-bonding-fix-dedicated-queue-setup.patch 2025-02-12 17:29:34.172944868 +0000
@@ -1 +1 @@
-From 4da0705bf896327af062212b5a1e6cb1f1366aa5 Mon Sep 17 00:00:00 2001
+From f47b48eff78e68d006a2db292c0293f93f8ba3e3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4da0705bf896327af062212b5a1e6cb1f1366aa5 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 395e41ff95..4c30bd40ee 100644
+index 5432eafcfe..f827229671 100644
@@ -38 +39 @@
-index f69496feec..467f7fe7ea 100644
+index 91bf2c2345..9d72140b82 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/hns3: fix mbuf freeing in simple Tx path' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (12 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/bonding: fix dedicated queue setup' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/hns3: remove PVID info dump for VF' " Kevin Traynor
` (106 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Dengdui Huang; +Cc: Jie Hai, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/ebdb2edada07e353a3c7441822bc25da8d249a80
Thanks.
Kevin
---
From ebdb2edada07e353a3c7441822bc25da8d249a80 Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Mon, 30 Dec 2024 14:54:03 +0800
Subject: [PATCH] net/hns3: fix mbuf freeing in simple Tx path
[ upstream commit d78c76dbeffbd2994d77236c403281b34612e024 ]
When RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE offload is not set,
use rte_pktmbuf_free_seg() to free the mbuf.
Fixes: 7ef933908f04 ("net/hns3: add simple Tx path")
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
Signed-off-by: Jie Hai <haijie1@huawei.com>
---
drivers/net/hns3/hns3_rxtx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c
index 03bbbc435f..09e39cb673 100644
--- a/drivers/net/hns3/hns3_rxtx.c
+++ b/drivers/net/hns3/hns3_rxtx.c
@@ -4007,5 +4007,5 @@ hns3_tx_free_buffer_simple(struct hns3_tx_queue *txq)
rte_prefetch0((tx_entry + i)->mbuf);
for (i = 0; i < txq->tx_rs_thresh; i++, tx_entry++) {
- rte_mempool_put(tx_entry->mbuf->pool, tx_entry->mbuf);
+ rte_pktmbuf_free_seg(tx_entry->mbuf);
tx_entry->mbuf = NULL;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:36.203290978 +0000
+++ 0015-net-hns3-fix-mbuf-freeing-in-simple-Tx-path.patch 2025-02-12 17:29:34.178944903 +0000
@@ -1 +1 @@
-From d78c76dbeffbd2994d77236c403281b34612e024 Mon Sep 17 00:00:00 2001
+From ebdb2edada07e353a3c7441822bc25da8d249a80 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d78c76dbeffbd2994d77236c403281b34612e024 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/hns3: remove PVID info dump for VF' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (13 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/hns3: fix mbuf freeing in simple Tx path' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/hns3: rename RAS module' " Kevin Traynor
` (105 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Jie Hai; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/4d38497807c6caa4cc5f9020bc9fb36025574672
Thanks.
Kevin
---
From 4d38497807c6caa4cc5f9020bc9fb36025574672 Mon Sep 17 00:00:00 2001
From: Jie Hai <haijie1@huawei.com>
Date: Mon, 30 Dec 2024 14:54:04 +0800
Subject: [PATCH] net/hns3: remove PVID info dump for VF
[ upstream commit 3c805c1ebe02248bb0c2ba944046c2e3354b0c11 ]
Since the PVID status obtained from kernel varies on different
platform, and the PVID of VF can be accessed by 'ip link show'
command, so remove it in case of misunderstanding.
Fixes: 871e5a4f881b ("net/hns3: dump VLAN configuration info")
Signed-off-by: Jie Hai <haijie1@huawei.com>
---
drivers/net/hns3/hns3_dump.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/hns3/hns3_dump.c b/drivers/net/hns3/hns3_dump.c
index 738dcb0c42..f21d32e6a2 100644
--- a/drivers/net/hns3/hns3_dump.c
+++ b/drivers/net/hns3/hns3_dump.c
@@ -694,4 +694,8 @@ static void
hns3_get_port_pvid_info(FILE *file, struct hns3_hw *hw)
{
+ struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw);
+ if (hns->is_vf)
+ return;
+
fprintf(file, " - pvid status: %s\n",
hw->port_base_vlan_cfg.state ? "On" : "Off");
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:36.310545877 +0000
+++ 0016-net-hns3-remove-PVID-info-dump-for-VF.patch 2025-02-12 17:29:34.179944909 +0000
@@ -1 +1 @@
-From 3c805c1ebe02248bb0c2ba944046c2e3354b0c11 Mon Sep 17 00:00:00 2001
+From 4d38497807c6caa4cc5f9020bc9fb36025574672 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3c805c1ebe02248bb0c2ba944046c2e3354b0c11 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/hns3: rename RAS module' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (14 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/hns3: remove PVID info dump for VF' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'examples/flow_filtering: remove duplicate assignment' " Kevin Traynor
` (104 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Jie Hai; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/5ad1682931f0dc458eb4469d2ba720c5d1363e1b
Thanks.
Kevin
---
From 5ad1682931f0dc458eb4469d2ba720c5d1363e1b Mon Sep 17 00:00:00 2001
From: Jie Hai <haijie1@huawei.com>
Date: Mon, 30 Dec 2024 14:54:05 +0800
Subject: [PATCH] net/hns3: rename RAS module
[ upstream commit 501a40ae8370dcbfe086ef080a60c86a8d428ef6 ]
Rename ROH_MAC module as HIMAC to avoid misunderstandings.
Fixes: 1c1eb759e9d7 ("net/hns3: support RAS process in Kunpeng 930")
Signed-off-by: Jie Hai <haijie1@huawei.com>
---
drivers/net/hns3/hns3_intr.c | 4 ++--
drivers/net/hns3/hns3_intr.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/hns3/hns3_intr.c b/drivers/net/hns3/hns3_intr.c
index 2de2b86b02..db5c84061c 100644
--- a/drivers/net/hns3/hns3_intr.c
+++ b/drivers/net/hns3/hns3_intr.c
@@ -1433,6 +1433,6 @@ static const struct hns3_hw_mod_name hns3_hw_module_name[] = {
.msg = "MODULE_MASTER"
}, {
- .module_name = MODULE_ROH_MAC,
- .msg = "MODULE_ROH_MAC"
+ .module_name = MODULE_HIMAC,
+ .msg = "MODULE_HIMAC"
}
};
diff --git a/drivers/net/hns3/hns3_intr.h b/drivers/net/hns3/hns3_intr.h
index 1edb07de36..e88b00c9c9 100644
--- a/drivers/net/hns3/hns3_intr.h
+++ b/drivers/net/hns3/hns3_intr.h
@@ -105,5 +105,5 @@ enum hns3_mod_name_list {
MODULE_TXDMA,
MODULE_MASTER,
- MODULE_ROH_MAC,
+ MODULE_HIMAC,
};
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:36.424086580 +0000
+++ 0017-net-hns3-rename-RAS-module.patch 2025-02-12 17:29:34.183944933 +0000
@@ -1 +1 @@
-From 501a40ae8370dcbfe086ef080a60c86a8d428ef6 Mon Sep 17 00:00:00 2001
+From 5ad1682931f0dc458eb4469d2ba720c5d1363e1b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 501a40ae8370dcbfe086ef080a60c86a8d428ef6 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'examples/flow_filtering: remove duplicate assignment' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (15 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/hns3: rename RAS module' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/sfc: remove unnecessary " Kevin Traynor
` (103 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Ariel Otilibili; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/1d3a36ce47f3bc99b5b647d943fab989aaea0562
Thanks.
Kevin
---
From 1d3a36ce47f3bc99b5b647d943fab989aaea0562 Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <otilibil@eurecom.fr>
Date: Wed, 15 Jan 2025 13:11:50 +0100
Subject: [PATCH] examples/flow_filtering: remove duplicate assignment
[ upstream commit 7d73fa47f4ef9223cf39303bb731f071435228be ]
Last action in template was being assigned twice.
Coverity issue: 451221
Fixes: 16158f349000 ("examples/flow_filtering: introduce use cases snippets")
Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
---
.mailmap | 1 +
examples/flow_filtering/snippets/snippet_match_ipv4.c | 1 -
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/.mailmap b/.mailmap
index 23cbd690f2..2c7a5d007e 100644
--- a/.mailmap
+++ b/.mailmap
@@ -135,4 +135,5 @@ Apeksha Gupta <apeksha.gupta@nxp.com>
Archana Muniganti <marchana@marvell.com> <muniganti.archana@caviumnetworks.com>
Archit Pandey <architpandeynitk@gmail.com>
+Ariel Otilibili <otilibil@eurecom.fr> <ariel.otilibili@6wind.com>
Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
Arkadiusz Kusztal <arkadiuszx.kusztal@intel.com>
diff --git a/examples/flow_filtering/snippets/snippet_match_ipv4.c b/examples/flow_filtering/snippets/snippet_match_ipv4.c
index 808208e7b0..65fb045e8b 100644
--- a/examples/flow_filtering/snippets/snippet_match_ipv4.c
+++ b/examples/flow_filtering/snippets/snippet_match_ipv4.c
@@ -77,5 +77,4 @@ snippet_ipv4_flow_create_actions_template(uint16_t port_id, struct rte_flow_erro
};
- tactions[0].type = RTE_FLOW_ACTION_TYPE_QUEUE;
tactions[0].type = RTE_FLOW_ACTION_TYPE_END;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:36.537330497 +0000
+++ 0018-examples-flow_filtering-remove-duplicate-assignment.patch 2025-02-12 17:29:34.185944945 +0000
@@ -1 +1 @@
-From 7d73fa47f4ef9223cf39303bb731f071435228be Mon Sep 17 00:00:00 2001
+From 1d3a36ce47f3bc99b5b647d943fab989aaea0562 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7d73fa47f4ef9223cf39303bb731f071435228be ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 6afecb5a3e..57332fd75a 100644
+index 23cbd690f2..2c7a5d007e 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/sfc: remove unnecessary assignment' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (16 preceding siblings ...)
2025-02-13 9:57 ` patch 'examples/flow_filtering: remove duplicate assignment' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/mlx5: fix polling CQEs' " Kevin Traynor
` (102 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Ariel Otilibili; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/08bb999893c0dfc8283c92fa63621d47697ee8ce
Thanks.
Kevin
---
From 08bb999893c0dfc8283c92fa63621d47697ee8ce Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <otilibil@eurecom.fr>
Date: Wed, 15 Jan 2025 13:11:51 +0100
Subject: [PATCH] net/sfc: remove unnecessary assignment
[ upstream commit de87641d5c004ef505d58d542a66d66f6a1cb2be ]
The same field was being set twice.
Coverity issue: 384444
Fixes: a62ec90522a6 ("net/sfc: add port representors infrastructure")
Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
---
drivers/net/sfc/sfc_repr.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/drivers/net/sfc/sfc_repr.c b/drivers/net/sfc/sfc_repr.c
index c2e5d4eb9e..2c1421b959 100644
--- a/drivers/net/sfc/sfc_repr.c
+++ b/drivers/net/sfc/sfc_repr.c
@@ -770,9 +770,5 @@ sfc_repr_close(struct sfc_repr *sr)
{
SFC_ASSERT(sfc_repr_lock_is_locked(sr));
-
SFC_ASSERT(sr->state == SFC_ETHDEV_CONFIGURED);
- sr->state = SFC_ETHDEV_CLOSING;
-
- /* Put representor close actions here */
sr->state = SFC_ETHDEV_INITIALIZED;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:36.644087311 +0000
+++ 0019-net-sfc-remove-unnecessary-assignment.patch 2025-02-12 17:29:34.187944957 +0000
@@ -1 +1 @@
-From de87641d5c004ef505d58d542a66d66f6a1cb2be Mon Sep 17 00:00:00 2001
+From 08bb999893c0dfc8283c92fa63621d47697ee8ce Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit de87641d5c004ef505d58d542a66d66f6a1cb2be ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/mlx5: fix polling CQEs' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (17 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/sfc: remove unnecessary " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/mlx5: fix leak of flow action data list' " Kevin Traynor
` (101 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Gavin Hu; +Cc: Changqi Dingluo, Viacheslav Ovsiienko, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/a0008d4df03f25a264ae7a1a88131b2e07d50ad9
Thanks.
Kevin
---
From a0008d4df03f25a264ae7a1a88131b2e07d50ad9 Mon Sep 17 00:00:00 2001
From: Gavin Hu <gahu@nvidia.com>
Date: Fri, 6 Dec 2024 02:58:11 +0200
Subject: [PATCH] net/mlx5: fix polling CQEs
[ upstream commit 73f7ae1d721aa5c388123db11827937205985999 ]
In certain situations, the receive queue (rxq) fails to replenish its
internal ring with memory buffers (mbufs) from the pool. This can happen
when the pool has a limited number of mbufs allocated, and the user
application holds incoming packets for an extended period, resulting in a
delayed release of mbufs. Consequently, the pool becomes depleted,
preventing the rxq from replenishing from it.
There was a bug in the behavior of the vectorized rxq_cq_process_v routine,
which handled completion queue entries (CQEs) in batches of four. This
routine consistently accessed four mbufs from the internal queue ring,
regardless of whether they had been replenished. As a result, it could
access mbufs that no longer belonged to the poll mode driver (PMD).
The fix involves checking if there are four replenished mbufs available
before allowing rxq_cq_process_v to handle the batch. Once replenishment
succeeds during the polling process, the routine will resume its operation.
Fixes: 1ded26239aa0 ("net/mlx5: refactor vectorized Rx")
Reported-by: Changqi Dingluo <dingluochangqi.ck@bytedance.com>
Signed-off-by: Gavin Hu <gahu@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
.mailmap | 3 ++-
drivers/net/mlx5/mlx5_rxtx_vec.c | 3 +++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/.mailmap b/.mailmap
index 2c7a5d007e..07ae8c48fc 100644
--- a/.mailmap
+++ b/.mailmap
@@ -226,4 +226,5 @@ Chang Miao <chang.miao@corigine.com>
Changchun Ouyang <changchun.ouyang@intel.com>
Changpeng Liu <changpeng.liu@intel.com>
+Changqi Dingluo <dingluochangqi.ck@bytedance.com>
Changqing Wu <changqingx.wu@intel.com>
Chaoyong He <chaoyong.he@corigine.com>
@@ -465,5 +466,5 @@ Gary Mussar <gmussar@ciena.com>
Gaurav Singh <gaurav1086@gmail.com>
Gautam Dawar <gdawar@solarflare.com>
-Gavin Hu <gavin.hu@arm.com> <gavin.hu@linaro.org>
+Gavin Hu <gahu@nvidia.com> <gavin.hu@arm.com> <gavin.hu@linaro.org>
Gavin Li <gavinl@nvidia.com>
Geoffrey Le Gourriérec <geoffrey.le_gourrierec@6wind.com>
diff --git a/drivers/net/mlx5/mlx5_rxtx_vec.c b/drivers/net/mlx5/mlx5_rxtx_vec.c
index 1872bf310c..1b701801c5 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec.c
+++ b/drivers/net/mlx5/mlx5_rxtx_vec.c
@@ -326,4 +326,7 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts,
pkts_n = RTE_MIN(pkts_n, q_n - elts_idx);
pkts_n = RTE_MIN(pkts_n, q_n - cq_idx);
+ /* Not to move past the allocated mbufs. */
+ pkts_n = RTE_MIN(pkts_n, RTE_ALIGN_FLOOR(rxq->rq_ci - rxq->rq_pi,
+ MLX5_VPMD_DESCS_PER_LOOP));
if (!pkts_n) {
*no_cq = !rcvd_pkt;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:36.744515995 +0000
+++ 0020-net-mlx5-fix-polling-CQEs.patch 2025-02-12 17:29:34.190944975 +0000
@@ -1 +1 @@
-From 73f7ae1d721aa5c388123db11827937205985999 Mon Sep 17 00:00:00 2001
+From a0008d4df03f25a264ae7a1a88131b2e07d50ad9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 73f7ae1d721aa5c388123db11827937205985999 ]
+
@@ -24 +25,0 @@
-Cc: stable@dpdk.org
@@ -35 +36 @@
-index 38e511a28b..1ed47e1cad 100644
+index 2c7a5d007e..07ae8c48fc 100644
@@ -44 +45 @@
-@@ -466,5 +467,5 @@ Gary Mussar <gmussar@ciena.com>
+@@ -465,5 +466,5 @@ Gary Mussar <gmussar@ciena.com>
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/mlx5: fix leak of flow action data list' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (18 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/mlx5: fix polling CQEs' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/mlx5: fix unneeded stub flow table allocation' " Kevin Traynor
` (100 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Bing Zhao; +Cc: Dariusz Sosnowski, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/fbc041172e9c2008acd74e8e09f2b9ef0dd4624e
Thanks.
Kevin
---
From fbc041172e9c2008acd74e8e09f2b9ef0dd4624e Mon Sep 17 00:00:00 2001
From: Bing Zhao <bingz@nvidia.com>
Date: Tue, 26 Nov 2024 10:34:40 +0200
Subject: [PATCH] net/mlx5: fix leak of flow action data list
[ upstream commit d68bcfb6da221ee114835db8c2ab9449d277590f ]
In the actions construction for HWS non-template API, the `masks`
parameter is always set to NULL and all the actions will be
translated in the "construct" stage as non-fixed ones.
In the stage of translating actions template, the actions data would
be allocated from the pool and managed in a list. The list would be
released when destroying the template with the actions. In the NT2HWS
implementation, the temporary template was freed directly and the
actions will be destroyed with the flow rule deletion. No other rule
would use this list anymore.
The actions data in the list should be freed when the actions
construction is done.
Fixes: ff4064d5b1fe ("net/mlx5: support bulk actions in non-template flow")
Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
drivers/net/mlx5/mlx5_flow_hw.c | 63 ++++++++++++++++++++-------------
1 file changed, 39 insertions(+), 24 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index 50dbaa27ab..1de6b889a7 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -967,8 +967,5 @@ __flow_hw_actions_release(struct rte_eth_dev *dev, struct mlx5_hw_actions *acts)
/**
- * Destroy DR actions created by action template.
- *
- * For DR actions created during table creation's action translate.
- * Need to destroy the DR action when destroying the table.
+ * Release the action data back into the pool without destroy any action.
*
* @param[in] dev
@@ -977,6 +974,6 @@ __flow_hw_actions_release(struct rte_eth_dev *dev, struct mlx5_hw_actions *acts)
* Pointer to the template HW steering DR actions.
*/
-static void
-__flow_hw_action_template_destroy(struct rte_eth_dev *dev, struct mlx5_hw_actions *acts)
+static inline void
+__flow_hw_act_data_flush(struct rte_eth_dev *dev, struct mlx5_hw_actions *acts)
{
struct mlx5_priv *priv = dev->data->dev_private;
@@ -988,5 +985,21 @@ __flow_hw_action_template_destroy(struct rte_eth_dev *dev, struct mlx5_hw_action
mlx5_ipool_free(priv->acts_ipool, data->idx);
}
+}
+/*
+ * Destroy DR actions created by action template.
+ *
+ * For DR actions created during table creation's action translate.
+ * Need to destroy the DR action when destroying the table.
+ *
+ * @param[in] dev
+ * Pointer to the rte_eth_dev structure.
+ * @param[in] acts
+ * Pointer to the template HW steering DR actions.
+ */
+static void
+__flow_hw_action_template_destroy(struct rte_eth_dev *dev, struct mlx5_hw_actions *acts)
+{
+ __flow_hw_act_data_flush(dev, acts);
__flow_hw_actions_release(dev, acts);
}
@@ -13493,12 +13506,12 @@ flow_nta_build_template_mask(const struct rte_flow_action actions[],
static int
flow_hw_translate_flow_actions(struct rte_eth_dev *dev,
- const struct rte_flow_attr *attr,
- const struct rte_flow_action actions[],
- struct rte_flow_hw *flow,
- struct mlx5_flow_hw_action_params *ap,
- struct mlx5_hw_actions *hw_acts,
- uint64_t item_flags, uint64_t action_flags,
- bool external,
- struct rte_flow_error *error)
+ const struct rte_flow_attr *attr,
+ const struct rte_flow_action actions[],
+ struct rte_flow_hw *flow,
+ struct mlx5_flow_hw_action_params *ap,
+ struct mlx5_hw_actions *hw_acts,
+ uint64_t item_flags, uint64_t action_flags,
+ bool external,
+ struct rte_flow_error *error)
{
int ret = 0;
@@ -13543,5 +13556,5 @@ flow_hw_translate_flow_actions(struct rte_eth_dev *dev,
if (!table)
return rte_flow_error_set(error, ENOMEM, RTE_FLOW_ERROR_TYPE_ACTION,
- actions, "Failed to allocate dummy table");
+ actions, "Failed to allocate dummy table");
at = __flow_hw_actions_template_create(dev, &template_attr, actions, masks, true, error);
if (!at) {
@@ -13557,5 +13570,5 @@ flow_hw_translate_flow_actions(struct rte_eth_dev *dev,
table->ats[0].action_template = at;
ret = __flow_hw_translate_actions_template(dev, &table->cfg, hw_acts, at,
- &table->mpctx, true, error);
+ &table->mpctx, true, error);
if (ret)
goto end;
@@ -13563,19 +13576,21 @@ flow_hw_translate_flow_actions(struct rte_eth_dev *dev,
ret = flow_hw_encap_decap_resource_register(dev, table, hw_acts, flow, error);
if (ret)
- goto clean_up;
+ goto end;
ret = flow_hw_modify_hdr_resource_register(dev, table, hw_acts, flow, error);
if (ret)
- goto clean_up;
+ goto end;
table->ats[0].acts = *hw_acts;
ret = flow_hw_actions_construct(dev, flow, ap,
- &table->ats[0], item_flags, table,
- actions, hw_acts->rule_acts, 0, error);
+ &table->ats[0], item_flags, table,
+ actions, hw_acts->rule_acts, 0, error);
if (ret)
- goto clean_up;
+ goto end;
goto end;
-clean_up:
- /* Make sure that there is no garbage in the actions. */
- __flow_hw_action_template_destroy(dev, hw_acts);
end:
+ if (ret)
+ /* Make sure that there is no garbage in the actions. */
+ __flow_hw_action_template_destroy(dev, hw_acts);
+ else
+ __flow_hw_act_data_flush(dev, hw_acts);
if (table)
mlx5_free(table);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:36.830390319 +0000
+++ 0021-net-mlx5-fix-leak-of-flow-action-data-list.patch 2025-02-12 17:29:34.215945124 +0000
@@ -1 +1 @@
-From d68bcfb6da221ee114835db8c2ab9449d277590f Mon Sep 17 00:00:00 2001
+From fbc041172e9c2008acd74e8e09f2b9ef0dd4624e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d68bcfb6da221ee114835db8c2ab9449d277590f ]
+
@@ -21 +22,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/mlx5: fix unneeded stub flow table allocation' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (19 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/mlx5: fix leak of flow action data list' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/ixgbe: fix E610 support in flow engine' " Kevin Traynor
` (99 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Bing Zhao; +Cc: Dariusz Sosnowski, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/a3ee0fe3555b8cc0daa6bf2a68002c7f73845785
Thanks.
Kevin
---
From a3ee0fe3555b8cc0daa6bf2a68002c7f73845785 Mon Sep 17 00:00:00 2001
From: Bing Zhao <bingz@nvidia.com>
Date: Tue, 26 Nov 2024 11:25:39 +0200
Subject: [PATCH] net/mlx5: fix unneeded stub flow table allocation
[ upstream commit 3cd695c34528571c378c5f6be7ff81d3cca9a84c ]
The HWS non-template flow API is reusing some implementation of
template API to unify code logic. So for each rule creation, a stub
/ temporary table is used in order to reuse the actions construction.
Since this is temporary and used only internally, there is no need to
save the table permanently. Only parts of them are mandatory, so the
allocation / free from the heap of RTE memory is a waste and causes
a lot of overhead. By using the pre-allocated workspace and set the
needed fields expliticly will save the overhead and help to speed up
the rule insertion rate.
Fixes: 27d171b88031 ("net/mlx5: abstract flow action and enable reconfigure")
Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
drivers/net/mlx5/mlx5_flow.c | 11 +++++++++--
drivers/net/mlx5/mlx5_flow.h | 3 +++
drivers/net/mlx5/mlx5_flow_hw.c | 19 +++++++++++--------
3 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 16ddd05448..9203643300 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -8271,6 +8271,10 @@ flow_alloc_thread_workspace(void)
size_t data_size = RTE_ALIGN(sizeof(struct mlx5_flow_workspace), sizeof(long));
size_t rss_queue_array_size = sizeof(uint16_t) * RTE_ETH_RSS_RETA_SIZE_512;
- struct mlx5_flow_workspace *data = calloc(1, data_size +
- rss_queue_array_size);
+ size_t alloc_size = data_size + rss_queue_array_size;
+#ifdef HAVE_MLX5_HWS_SUPPORT
+ /* Dummy table size for the non-template API. */
+ alloc_size += sizeof(struct rte_flow_template_table);
+#endif
+ struct mlx5_flow_workspace *data = calloc(1, alloc_size);
if (!data) {
@@ -8279,4 +8283,7 @@ flow_alloc_thread_workspace(void)
}
data->rss_desc.queue = RTE_PTR_ADD(data, data_size);
+#ifdef HAVE_MLX5_HWS_SUPPORT
+ data->table = RTE_PTR_ADD(data->rss_desc.queue, rss_queue_array_size);
+#endif
return data;
}
diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h
index bcc2782460..757bbf73c1 100644
--- a/drivers/net/mlx5/mlx5_flow.h
+++ b/drivers/net/mlx5/mlx5_flow.h
@@ -1920,4 +1920,7 @@ struct mlx5_flow_workspace {
struct mlx5_flow_meter_policy *final_policy;
/* The final policy when meter policy is hierarchy. */
+#ifdef HAVE_MLX5_HWS_SUPPORT
+ struct rte_flow_template_table *table;
+#endif
uint32_t skip_matcher_reg:1;
/* Indicates if need to skip matcher register in translate. */
diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index 1de6b889a7..2b62711413 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -13518,5 +13518,4 @@ flow_hw_translate_flow_actions(struct rte_eth_dev *dev,
uint32_t src_group = 0;
enum mlx5dr_table_type table_type;
- struct rte_flow_template_table *table = NULL;
struct mlx5_flow_group grp;
struct rte_flow_actions_template *at = NULL;
@@ -13532,4 +13531,8 @@ flow_hw_translate_flow_actions(struct rte_eth_dev *dev,
memset(masks, 0, sizeof(masks));
memset(mask_conf, 0, sizeof(mask_conf));
+ /* Only set the needed fields explicitly. */
+ struct mlx5_flow_workspace *wks = mlx5_flow_push_thread_workspace();
+ struct rte_flow_template_table *table;
+
/*
* Notice All direct actions will be unmasked,
@@ -13541,4 +13544,10 @@ flow_hw_translate_flow_actions(struct rte_eth_dev *dev,
* and not during action construct.
*/
+ if (!wks)
+ return rte_flow_error_set(error, ENOMEM,
+ RTE_FLOW_ERROR_TYPE_UNSPECIFIED,
+ NULL,
+ "failed to push flow workspace");
+ table = wks->table;
flow_nta_build_template_mask(actions, masks, mask_conf);
/* The group in the attribute translation was done in advance. */
@@ -13552,9 +13561,4 @@ flow_hw_translate_flow_actions(struct rte_eth_dev *dev,
else
table_type = MLX5DR_TABLE_TYPE_NIC_RX;
- /* TODO: consider to reuse the workspace per thread. */
- table = mlx5_malloc(MLX5_MEM_ZERO, sizeof(*table), 0, SOCKET_ID_ANY);
- if (!table)
- return rte_flow_error_set(error, ENOMEM, RTE_FLOW_ERROR_TYPE_ACTION,
- actions, "Failed to allocate dummy table");
at = __flow_hw_actions_template_create(dev, &template_attr, actions, masks, true, error);
if (!at) {
@@ -13593,8 +13597,7 @@ end:
else
__flow_hw_act_data_flush(dev, hw_acts);
- if (table)
- mlx5_free(table);
if (at)
mlx5_free(at);
+ mlx5_flow_pop_thread_workspace();
return ret;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:36.941546295 +0000
+++ 0022-net-mlx5-fix-unneeded-stub-flow-table-allocation.patch 2025-02-12 17:29:34.258945381 +0000
@@ -1 +1 @@
-From 3cd695c34528571c378c5f6be7ff81d3cca9a84c Mon Sep 17 00:00:00 2001
+From a3ee0fe3555b8cc0daa6bf2a68002c7f73845785 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3cd695c34528571c378c5f6be7ff81d3cca9a84c ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -54 +55 @@
-index 50b0e2ce47..93c2406abc 100644
+index bcc2782460..757bbf73c1 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/ixgbe: fix E610 support in flow engine' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (20 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/mlx5: fix unneeded stub flow table allocation' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/ixgbe/base: fix TSAM checking return value' " Kevin Traynor
` (98 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Vladimir Medvedkin; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/ecae1f6c9d80111f1eef77844a521bd5e1d2e888
Thanks.
Kevin
---
From ecae1f6c9d80111f1eef77844a521bd5e1d2e888 Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Date: Mon, 2 Dec 2024 18:21:44 +0000
Subject: [PATCH] net/ixgbe: fix E610 support in flow engine
[ upstream commit 4d349458a18970730c6b2cda1be362042344b1c7 ]
Currently flow engine is missing a new mac type E610 in the check for
fdir support. This patch adds this mac type to the check.
Fixes: 316637762a5f ("net/ixgbe/base: enable E610 device")
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/ixgbe/ixgbe_fdir.c | 3 ++-
drivers/net/ixgbe/ixgbe_flow.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdir.c
index 06d6e2126d..b6351bc2cf 100644
--- a/drivers/net/ixgbe/ixgbe_fdir.c
+++ b/drivers/net/ixgbe/ixgbe_fdir.c
@@ -648,5 +648,6 @@ ixgbe_fdir_configure(struct rte_eth_dev *dev)
hw->mac.type != ixgbe_mac_X550 &&
hw->mac.type != ixgbe_mac_X550EM_x &&
- hw->mac.type != ixgbe_mac_X550EM_a)
+ hw->mac.type != ixgbe_mac_X550EM_a &&
+ hw->mac.type != ixgbe_mac_E610)
return -ENOSYS;
diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index 1b35ed5faa..33da2f47ec 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -2765,5 +2765,6 @@ ixgbe_parse_fdir_filter(struct rte_eth_dev *dev,
hw->mac.type != ixgbe_mac_X550 &&
hw->mac.type != ixgbe_mac_X550EM_x &&
- hw->mac.type != ixgbe_mac_X550EM_a)
+ hw->mac.type != ixgbe_mac_X550EM_a &&
+ hw->mac.type != ixgbe_mac_E610)
return -ENOTSUP;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:37.096994795 +0000
+++ 0023-net-ixgbe-fix-E610-support-in-flow-engine.patch 2025-02-12 17:29:34.263945410 +0000
@@ -1 +1 @@
-From 4d349458a18970730c6b2cda1be362042344b1c7 Mon Sep 17 00:00:00 2001
+From ecae1f6c9d80111f1eef77844a521bd5e1d2e888 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4d349458a18970730c6b2cda1be362042344b1c7 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/ixgbe/base: fix TSAM checking return value' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (21 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/ixgbe: fix E610 support in flow engine' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/ixgbe/base: remove 2.5/5G from auto-negotiation for E610' " Kevin Traynor
` (97 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Lukasz Krakowiak; +Cc: Yuan Wang, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/194e3b363dbe1cd002bb5b5bb5535999bfcf6d73
Thanks.
Kevin
---
From 194e3b363dbe1cd002bb5b5bb5535999bfcf6d73 Mon Sep 17 00:00:00 2001
From: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
Date: Tue, 14 Jan 2025 18:10:11 +0800
Subject: [PATCH] net/ixgbe/base: fix TSAM checking return value
[ upstream commit 0699ce484da324b60572a906cf7d013394f074e2 ]
The error return value of ixgbe_get_fw_tsam_mode function,
(IXGBE_NOT_IMPLEMENTED) is be a large integer that does not match the
desired bool type. Rework to return false on error instead.
Fixes: 316637762a5f ("net/ixgbe/base: enable E610 device")
Signed-off-by: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
Signed-off-by: Yuan Wang <yuanx.wang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/ixgbe/base/ixgbe_api.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ixgbe/base/ixgbe_api.c b/drivers/net/ixgbe/base/ixgbe_api.c
index b4920867bc..ffff670dd3 100644
--- a/drivers/net/ixgbe/base/ixgbe_api.c
+++ b/drivers/net/ixgbe/base/ixgbe_api.c
@@ -1169,6 +1169,7 @@ s32 ixgbe_set_fw_drv_ver(struct ixgbe_hw *hw, u8 maj, u8 min, u8 build,
bool ixgbe_get_fw_tsam_mode(struct ixgbe_hw *hw)
{
- return ixgbe_call_func(hw, hw->mac.ops.get_fw_tsam_mode, (hw),
- IXGBE_NOT_IMPLEMENTED);
+ if (hw->mac.ops.get_fw_tsam_mode)
+ return hw->mac.ops.get_fw_tsam_mode(hw);
+ return false;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:37.205232776 +0000
+++ 0024-net-ixgbe-base-fix-TSAM-checking-return-value.patch 2025-02-12 17:29:34.265945422 +0000
@@ -1 +1 @@
-From 0699ce484da324b60572a906cf7d013394f074e2 Mon Sep 17 00:00:00 2001
+From 194e3b363dbe1cd002bb5b5bb5535999bfcf6d73 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0699ce484da324b60572a906cf7d013394f074e2 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/ixgbe/base: remove 2.5/5G from auto-negotiation for E610' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (22 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/ixgbe/base: fix TSAM checking return value' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/ixgbe/base: fix driver hang in VM' " Kevin Traynor
` (96 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Piotr Kwapulinski; +Cc: Yuan Wang, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/f3fddb3b103dd339d2fe5d6ceaf91ef8679b70bf
Thanks.
Kevin
---
From f3fddb3b103dd339d2fe5d6ceaf91ef8679b70bf Mon Sep 17 00:00:00 2001
From: Piotr Kwapulinski <piotr.kwapulinski@intel.com>
Date: Tue, 14 Jan 2025 18:10:13 +0800
Subject: [PATCH] net/ixgbe/base: remove 2.5/5G from auto-negotiation for E610
[ upstream commit c38b4274255703a48d0177c013ee95afb4bde910 ]
2.5 and 5 Gbps link speeds must be excluded from the auto-negotiation set
used during driver initialization due to compatibility issues with
certain switches. Those issues do not exist in case of E610 2.5G SKU
device (0x57b1).
Fixes: c6cb313da739 ("net/ixgbe/base: add link management for E610")
Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com>
Signed-off-by: Yuan Wang <yuanx.wang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/ixgbe/base/ixgbe_e610.c | 37 +++++++++++++++++++----------
1 file changed, 24 insertions(+), 13 deletions(-)
diff --git a/drivers/net/ixgbe/base/ixgbe_e610.c b/drivers/net/ixgbe/base/ixgbe_e610.c
index b0d55a2411..31c2d986aa 100644
--- a/drivers/net/ixgbe/base/ixgbe_e610.c
+++ b/drivers/net/ixgbe/base/ixgbe_e610.c
@@ -4228,4 +4228,23 @@ s32 ixgbe_identify_phy_E610(struct ixgbe_hw *hw)
pcaps.phy_type_high & IXGBE_PHY_TYPE_HIGH_1G_USXGMII)
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_1GB_FULL;
+ if (pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10GBASE_T ||
+ pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10G_SFI_DA ||
+ pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10GBASE_SR ||
+ pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10GBASE_LR ||
+ pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10GBASE_KR_CR1 ||
+ pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10G_SFI_AOC_ACC ||
+ pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10G_SFI_C2C ||
+ pcaps.phy_type_high & IXGBE_PHY_TYPE_HIGH_10G_USXGMII)
+ hw->phy.speeds_supported |= IXGBE_LINK_SPEED_10GB_FULL;
+
+ /* 2.5 and 5 Gbps link speeds must be excluded from the
+ * auto-negotiation set used during driver initialization due to
+ * compatibility issues with certain switches. Those issues do not
+ * exist in case of E610 2.5G SKU device (0x57b1).
+ */
+ if (!hw->phy.autoneg_advertised &&
+ hw->device_id != IXGBE_DEV_ID_E610_2_5G_T)
+ hw->phy.autoneg_advertised = hw->phy.speeds_supported;
+
if (pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_2500BASE_T ||
pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_2500BASE_X ||
@@ -4234,21 +4253,13 @@ s32 ixgbe_identify_phy_E610(struct ixgbe_hw *hw)
pcaps.phy_type_high & IXGBE_PHY_TYPE_HIGH_2500M_USXGMII)
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_2_5GB_FULL;
+
+ if (!hw->phy.autoneg_advertised &&
+ hw->device_id == IXGBE_DEV_ID_E610_2_5G_T)
+ hw->phy.autoneg_advertised = hw->phy.speeds_supported;
+
if (pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_5GBASE_T ||
pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_5GBASE_KR ||
pcaps.phy_type_high & IXGBE_PHY_TYPE_HIGH_5G_USXGMII)
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_5GB_FULL;
- if (pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10GBASE_T ||
- pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10G_SFI_DA ||
- pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10GBASE_SR ||
- pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10GBASE_LR ||
- pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10GBASE_KR_CR1 ||
- pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10G_SFI_AOC_ACC ||
- pcaps.phy_type_low & IXGBE_PHY_TYPE_LOW_10G_SFI_C2C ||
- pcaps.phy_type_high & IXGBE_PHY_TYPE_HIGH_10G_USXGMII)
- hw->phy.speeds_supported |= IXGBE_LINK_SPEED_10GB_FULL;
-
- /* Initialize autoneg speeds */
- if (!hw->phy.autoneg_advertised)
- hw->phy.autoneg_advertised = hw->phy.speeds_supported;
/* Set PHY ID */
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:37.306473561 +0000
+++ 0025-net-ixgbe-base-remove-2.5-5G-from-auto-negotiation-f.patch 2025-02-12 17:29:34.271945458 +0000
@@ -1 +1 @@
-From c38b4274255703a48d0177c013ee95afb4bde910 Mon Sep 17 00:00:00 2001
+From f3fddb3b103dd339d2fe5d6ceaf91ef8679b70bf Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c38b4274255703a48d0177c013ee95afb4bde910 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index ee8614d3db..a7d642887f 100644
+index b0d55a2411..31c2d986aa 100644
@@ -25 +26 @@
-@@ -4257,4 +4257,23 @@ s32 ixgbe_identify_phy_E610(struct ixgbe_hw *hw)
+@@ -4228,4 +4228,23 @@ s32 ixgbe_identify_phy_E610(struct ixgbe_hw *hw)
@@ -49 +50 @@
-@@ -4263,21 +4282,13 @@ s32 ixgbe_identify_phy_E610(struct ixgbe_hw *hw)
+@@ -4234,21 +4253,13 @@ s32 ixgbe_identify_phy_E610(struct ixgbe_hw *hw)
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/ixgbe/base: fix driver hang in VM' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (23 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/ixgbe/base: remove 2.5/5G from auto-negotiation for E610' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/ixgbe/base: add missing buffer copy for ACI' " Kevin Traynor
` (95 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Piotr Kwapulinski; +Cc: Yuan Wang, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/7bdfd8d853151b87df93c5cd0db4f90558d82a40
Thanks.
Kevin
---
From 7bdfd8d853151b87df93c5cd0db4f90558d82a40 Mon Sep 17 00:00:00 2001
From: Piotr Kwapulinski <piotr.kwapulinski@intel.com>
Date: Tue, 14 Jan 2025 18:10:18 +0800
Subject: [PATCH] net/ixgbe/base: fix driver hang in VM
[ upstream commit e5e7c3cababa83b7e412e2fc87ce4de55b73b094 ]
Current value of IXGBE_SUBDEV_ID_E610_VF_HV (0x0001) causes the conflict
with real e610 subsystem device ID. This causes the TX hang of driver
running in VM. Update this value to 0x00FF to resolve conflict.
Fixes: 659e36767e77 ("net/ixgbe/base: add E610 VF HV macro")
Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com>
Signed-off-by: Yuan Wang <yuanx.wang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/ixgbe/base/ixgbe_type.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ixgbe/base/ixgbe_type.h b/drivers/net/ixgbe/base/ixgbe_type.h
index cc49eace91..99ae823119 100644
--- a/drivers/net/ixgbe/base/ixgbe_type.h
+++ b/drivers/net/ixgbe/base/ixgbe_type.h
@@ -132,5 +132,5 @@
#define IXGBE_DEV_ID_E610_SGMII 0x57B2
#define IXGBE_DEV_ID_E610_VF 0x57AD
-#define IXGBE_SUBDEV_ID_E610_VF_HV 0x0001
+#define IXGBE_SUBDEV_ID_E610_VF_HV 0x00FF
#define IXGBE_CAT(r, m) IXGBE_##r##m
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:37.428447887 +0000
+++ 0026-net-ixgbe-base-fix-driver-hang-in-VM.patch 2025-02-12 17:29:34.277945494 +0000
@@ -1 +1 @@
-From e5e7c3cababa83b7e412e2fc87ce4de55b73b094 Mon Sep 17 00:00:00 2001
+From 7bdfd8d853151b87df93c5cd0db4f90558d82a40 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e5e7c3cababa83b7e412e2fc87ce4de55b73b094 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/ixgbe/base: add missing buffer copy for ACI' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (24 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/ixgbe/base: fix driver hang in VM' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/iavf: remove reset of Tx prepare function pointer' " Kevin Traynor
` (94 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Dan Nowlin; +Cc: Yuan Wang, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/00ef3d8f8fd1d6ce46177087d7ffb81f4e3447c6
Thanks.
Kevin
---
From 00ef3d8f8fd1d6ce46177087d7ffb81f4e3447c6 Mon Sep 17 00:00:00 2001
From: Dan Nowlin <dan.nowlin@intel.com>
Date: Tue, 14 Jan 2025 18:10:19 +0800
Subject: [PATCH] net/ixgbe/base: add missing buffer copy for ACI
[ upstream commit 37239792b0d67fedc011db54ffa32b022a391787 ]
Add missing buffer copy in ixgbe_aci_send_cmd().
In ixgbe_aci_send_cmd() there is code to retry aq commands for
certain commands. To achieve this the function makes a copy of the
original ixgbe_aci_desc structure and allocates memory to store an
original copy of the command buffer. This allows the original structure
and buffer to be restored before attempting the command again. However,
the function didn't perform the actual copy of the original command
buffer into the copy buffer.
Fixes: 25b48e569f2f ("net/ixgbe/base: add E610 Admin Command Interface")
Signed-off-by: Dan Nowlin <dan.nowlin@intel.com>
Signed-off-by: Yuan Wang <yuanx.wang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/ixgbe/base/ixgbe_e610.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ixgbe/base/ixgbe_e610.c b/drivers/net/ixgbe/base/ixgbe_e610.c
index 31c2d986aa..1967519be0 100644
--- a/drivers/net/ixgbe/base/ixgbe_e610.c
+++ b/drivers/net/ixgbe/base/ixgbe_e610.c
@@ -283,4 +283,5 @@ s32 ixgbe_aci_send_cmd(struct ixgbe_hw *hw, struct ixgbe_aci_desc *desc,
if (!buf_cpy)
return IXGBE_ERR_OUT_OF_MEM;
+ memcpy(buf_cpy, buf, buf_size);
}
memcpy(&desc_cpy, desc, sizeof(desc_cpy));
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:37.523609485 +0000
+++ 0027-net-ixgbe-base-add-missing-buffer-copy-for-ACI.patch 2025-02-12 17:29:34.282945524 +0000
@@ -1 +1 @@
-From 37239792b0d67fedc011db54ffa32b022a391787 Mon Sep 17 00:00:00 2001
+From 00ef3d8f8fd1d6ce46177087d7ffb81f4e3447c6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 37239792b0d67fedc011db54ffa32b022a391787 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index dc4eafaa5a..5474c3012a 100644
+index 31c2d986aa..1967519be0 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/iavf: remove reset of Tx prepare function pointer' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (25 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/ixgbe/base: add missing buffer copy for ACI' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'net/ice: fix memory leak in scalar Rx' " Kevin Traynor
` (93 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Bruce Richardson; +Cc: Vladimir Medvedkin, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/15e0157ef8e74951738e46c913b52961ace7076c
Thanks.
Kevin
---
From 15e0157ef8e74951738e46c913b52961ace7076c Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 13 Dec 2024 14:33:19 +0000
Subject: [PATCH] net/iavf: remove reset of Tx prepare function pointer
[ upstream commit 41be96c907607bc709654f71901913f1534264f8 ]
The iavf driver only contains a single Tx prepare function, so when
selecting the Tx path, there is no need to reset and reassign the
function pointer in the ethdev structure. This fixes an issue where the
pointer was reset to NULL, but never assigned back later on function
selection.
Fixes: 5712bf9d6e14 ("net/iavf: add Tx AVX2 offload path")
Fixes: 08eb6a9cc2e1 ("net/iavf: fix Tx L4 checksum")
Fixes: 4f8259df563a ("net/iavf: enable Tx outer checksum offload on AVX512")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
---
drivers/net/iavf/iavf_rxtx.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
index 6a093c6746..98a1d3f69d 100644
--- a/drivers/net/iavf/iavf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -4174,5 +4174,4 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
goto normal;
- dev->tx_pkt_prepare = NULL;
if (use_sse) {
PMD_DRV_LOG(DEBUG, "Using Vector Tx (port %d).",
@@ -4191,5 +4190,4 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
} else {
tx_burst_type = IAVF_TX_AVX2_OFFLOAD;
- dev->tx_pkt_prepare = iavf_prep_pkts;
PMD_DRV_LOG(DEBUG, "Using AVX2 OFFLOAD Vector Tx (port %d).",
dev->data->port_id);
@@ -4204,15 +4202,12 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
} else if (check_ret == IAVF_VECTOR_OFFLOAD_PATH) {
tx_burst_type = IAVF_TX_AVX512_OFFLOAD;
- dev->tx_pkt_prepare = iavf_prep_pkts;
PMD_DRV_LOG(DEBUG, "Using AVX512 OFFLOAD Vector Tx (port %d).",
dev->data->port_id);
} else if (check_ret == IAVF_VECTOR_CTX_PATH) {
tx_burst_type = IAVF_TX_AVX512_CTX;
- dev->tx_pkt_prepare = iavf_prep_pkts;
PMD_DRV_LOG(DEBUG, "Using AVX512 CONTEXT Vector Tx (port %d).",
dev->data->port_id);
} else {
tx_burst_type = IAVF_TX_AVX512_CTX_OFFLOAD;
- dev->tx_pkt_prepare = iavf_prep_pkts;
PMD_DRV_LOG(DEBUG, "Using AVX512 CONTEXT OFFLOAD Vector Tx (port %d).",
dev->data->port_id);
@@ -4252,5 +4247,4 @@ normal:
dev->data->port_id);
tx_burst_type = IAVF_TX_DEFAULT;
- dev->tx_pkt_prepare = iavf_prep_pkts;
if (no_poll_on_link_down) {
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:37.635423523 +0000
+++ 0028-net-iavf-remove-reset-of-Tx-prepare-function-pointer.patch 2025-02-12 17:29:34.287945554 +0000
@@ -1 +1 @@
-From 41be96c907607bc709654f71901913f1534264f8 Mon Sep 17 00:00:00 2001
+From 15e0157ef8e74951738e46c913b52961ace7076c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 41be96c907607bc709654f71901913f1534264f8 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index f7df5f21f2..457b5a5655 100644
+index 6a093c6746..98a1d3f69d 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/ice: fix memory leak in scalar Rx' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (26 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/iavf: remove reset of Tx prepare function pointer' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'common/cnxk: fix atomic load in batch ops' " Kevin Traynor
` (92 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Vladimir Medvedkin; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/0409230b3f71e6ccf5d6d387f7992f284cc1b10a
Thanks.
Kevin
---
From 0409230b3f71e6ccf5d6d387f7992f284cc1b10a Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Date: Fri, 17 Jan 2025 17:52:05 +0000
Subject: [PATCH] net/ice: fix memory leak in scalar Rx
[ upstream commit 07cbd0b43ce4af9d628c8ad751789934d0a8c4a7 ]
If the buffer splitting feature is configured and the payload mbuf
allocation fails, the previously allocated header mbuf may be returned
not fully initialized or a memory leak may occur. This patch handles
this case correctly by freeing the corresponding header buffer.
Fixes: 629dad3ef325 ("net/ice: support buffer split in scalar Rx")
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/ice/ice_rxtx.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
index 0c7106c7e0..f58df9bdfe 100644
--- a/drivers/net/ice/ice_rxtx.c
+++ b/drivers/net/ice/ice_rxtx.c
@@ -485,4 +485,5 @@ ice_alloc_rx_queue_mbufs(struct ice_rx_queue *rxq)
mbuf_pay = rte_mbuf_raw_alloc(rxq->rxseg[1].mp);
if (unlikely(!mbuf_pay)) {
+ rte_pktmbuf_free(mbuf);
PMD_DRV_LOG(ERR, "Failed to allocate payload mbuf for RX");
return -ENOMEM;
@@ -1901,4 +1902,6 @@ ice_rx_alloc_bufs(struct ice_rx_queue *rxq)
(void *)mbufs_pay, rxq->rx_free_thresh);
if (unlikely(diag_pay != 0)) {
+ rte_mempool_put_bulk(rxq->mp, (void *)rxep,
+ rxq->rx_free_thresh);
PMD_RX_LOG(ERR, "Failed to get payload mbufs in bulk");
return -ENOMEM;
@@ -2608,4 +2611,11 @@ ice_recv_pkts(void *rx_queue,
if (unlikely(!nmb_pay)) {
rxq->vsi->adapter->pf.dev_data->rx_mbuf_alloc_failed++;
+ rxe->mbuf = NULL;
+ nb_hold--;
+ if (unlikely(rx_id == 0))
+ rx_id = rxq->nb_rx_desc;
+
+ rx_id--;
+ rte_pktmbuf_free(nmb);
break;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:37.735482228 +0000
+++ 0029-net-ice-fix-memory-leak-in-scalar-Rx.patch 2025-02-12 17:29:34.292945584 +0000
@@ -1 +1 @@
-From 07cbd0b43ce4af9d628c8ad751789934d0a8c4a7 Mon Sep 17 00:00:00 2001
+From 0409230b3f71e6ccf5d6d387f7992f284cc1b10a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 07cbd0b43ce4af9d628c8ad751789934d0a8c4a7 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'common/cnxk: fix atomic load in batch ops' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (27 preceding siblings ...)
2025-02-13 9:57 ` patch 'net/ice: fix memory leak in scalar Rx' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'common/cnxk: fix DPI mailbox structure' " Kevin Traynor
` (91 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Nawal Kishor; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/8ed2702aff3abf17e78b3582d220a28ea9f4641e
Thanks.
Kevin
---
From 8ed2702aff3abf17e78b3582d220a28ea9f4641e Mon Sep 17 00:00:00 2001
From: Nawal Kishor <nkishor@marvell.com>
Date: Mon, 2 Dec 2024 22:27:39 +0530
Subject: [PATCH] common/cnxk: fix atomic load in batch ops
[ upstream commit 73d38682fddd614d95942442c20b3a1de211bb4c ]
In roc batch alloc wait code, __ATOMIC_RELAXED is changed to
__ATOMIC_ACQUIRE in order to avoid potential out of order loads.
Fixes: 50d08d3934ec ("common/cnxk: fix batch alloc completion poll logic")
Signed-off-by: Nawal Kishor <nkishor@marvell.com>
---
.mailmap | 1 +
drivers/common/cnxk/roc_npa.h | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/.mailmap b/.mailmap
index 07ae8c48fc..58811dac34 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1079,4 +1079,5 @@ Nathan Brown <nathan.brown@arm.com>
Nathan Law <nlaw@brocade.com>
Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
+Nawal Kishor <nkishor@marvell.com>
Neel Patel <neel.patel@amd.com> <neel@pensando.io>
Neil Horman <nhorman@tuxdriver.com>
diff --git a/drivers/common/cnxk/roc_npa.h b/drivers/common/cnxk/roc_npa.h
index f7cb4460e7..8525038810 100644
--- a/drivers/common/cnxk/roc_npa.h
+++ b/drivers/common/cnxk/roc_npa.h
@@ -256,5 +256,5 @@ roc_npa_batch_alloc_wait(uint64_t *cache_line, unsigned int wait_us)
* of the 128 byte cache line.
*/
- while (((__atomic_load_n(cache_line, __ATOMIC_RELAXED) >> 5) & 0x3) ==
+ while (((__atomic_load_n(cache_line, __ATOMIC_ACQUIRE) >> 5) & 0x3) ==
ALLOC_CCODE_INVAL)
if (wait_us && (plt_tsc_cycles() - start) >= ticks)
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:37.842671336 +0000
+++ 0030-common-cnxk-fix-atomic-load-in-batch-ops.patch 2025-02-12 17:29:34.296945607 +0000
@@ -1 +1 @@
-From 73d38682fddd614d95942442c20b3a1de211bb4c Mon Sep 17 00:00:00 2001
+From 8ed2702aff3abf17e78b3582d220a28ea9f4641e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 73d38682fddd614d95942442c20b3a1de211bb4c ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 1ed47e1cad..8524952d24 100644
+index 07ae8c48fc..58811dac34 100644
@@ -22 +23 @@
-@@ -1080,4 +1080,5 @@ Nathan Brown <nathan.brown@arm.com>
+@@ -1079,4 +1079,5 @@ Nathan Brown <nathan.brown@arm.com>
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'common/cnxk: fix DPI mailbox structure' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (28 preceding siblings ...)
2025-02-13 9:57 ` patch 'common/cnxk: fix atomic load in batch ops' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:57 ` patch 'eventdev: fix format string data type in log messages' " Kevin Traynor
` (90 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Vamsi Attunuru; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/d94d788b4990d9d47739ef59e407b82196fc6249
Thanks.
Kevin
---
From d94d788b4990d9d47739ef59e407b82196fc6249 Mon Sep 17 00:00:00 2001
From: Vamsi Attunuru <vattunuru@marvell.com>
Date: Wed, 15 Jan 2025 18:06:54 +0530
Subject: [PATCH] common/cnxk: fix DPI mailbox structure
[ upstream commit b03c474188383c3d3d529b1c9ca86767e5fb6167 ]
In the existing DPI mailbox structure, one of the fields
spans a 64-bit boundary, making it appear unusual and
complicatng extraction using bit operations.
Patch enlarges csize fields to ensure that mailbox fields
are correctly positioned.
Fixes: b6e395692b6d ("common/cnxk: add DPI DMA support")
Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com>
---
drivers/common/cnxk/roc_dpi_priv.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/common/cnxk/roc_dpi_priv.h b/drivers/common/cnxk/roc_dpi_priv.h
index 1f975915f7..05b6751ca6 100644
--- a/drivers/common/cnxk/roc_dpi_priv.h
+++ b/drivers/common/cnxk/roc_dpi_priv.h
@@ -28,5 +28,5 @@ typedef union dpi_mbox_msg_t {
uint64_t cmd : 4;
/* Command buffer size in 8-byte words */
- uint64_t csize : 14;
+ uint64_t csize : 16;
/* aura of the command buffer */
uint64_t aura : 20;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:37.947775128 +0000
+++ 0031-common-cnxk-fix-DPI-mailbox-structure.patch 2025-02-12 17:29:34.296945607 +0000
@@ -1 +1 @@
-From b03c474188383c3d3d529b1c9ca86767e5fb6167 Mon Sep 17 00:00:00 2001
+From d94d788b4990d9d47739ef59e407b82196fc6249 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b03c474188383c3d3d529b1c9ca86767e5fb6167 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'eventdev: fix format string data type in log messages' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (29 preceding siblings ...)
2025-02-13 9:57 ` patch 'common/cnxk: fix DPI mailbox structure' " Kevin Traynor
@ 2025-02-13 9:57 ` Kevin Traynor
2025-02-13 9:58 ` patch 'crypto/virtio: fix redundant queue free' " Kevin Traynor
` (89 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:57 UTC (permalink / raw)
To: Andre Muezerie; +Cc: Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/fcd0f442faa2129fada0515f252c1fac797cfcce
Thanks.
Kevin
---
From fcd0f442faa2129fada0515f252c1fac797cfcce Mon Sep 17 00:00:00 2001
From: Andre Muezerie <andremue@linux.microsoft.com>
Date: Fri, 27 Dec 2024 08:18:05 -0800
Subject: [PATCH] eventdev: fix format string data type in log messages
[ upstream commit b2ff5f66189e75deea067598263929c591250e1b ]
The fix is to use the correct macro for the data type being logged.
Fixes: 112bf8055d90 ("eventdev/dma: support vchan add and delete")
Fixes: 2c6e23cd5e76 ("eventdev/dma: support adapter runtime params")
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
lib/eventdev/rte_event_dma_adapter.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/eventdev/rte_event_dma_adapter.c b/lib/eventdev/rte_event_dma_adapter.c
index ff2bc408c1..165374d195 100644
--- a/lib/eventdev/rte_event_dma_adapter.c
+++ b/lib/eventdev/rte_event_dma_adapter.c
@@ -997,5 +997,5 @@ rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dma_dev_id, uint16_t vchan,
if (!rte_dma_is_valid(dma_dev_id)) {
- RTE_EDEV_LOG_ERR("Invalid dma_dev_id = %" PRIu8, dma_dev_id);
+ RTE_EDEV_LOG_ERR("Invalid dma_dev_id = %" PRId16, dma_dev_id);
return -EINVAL;
}
@@ -1110,5 +1110,5 @@ rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dma_dev_id, uint16_t vchan)
if (!rte_dma_is_valid(dma_dev_id)) {
- RTE_EDEV_LOG_ERR("Invalid dma_dev_id = %" PRIu8, dma_dev_id);
+ RTE_EDEV_LOG_ERR("Invalid dma_dev_id = %" PRId16, dma_dev_id);
return -EINVAL;
}
@@ -1268,5 +1268,5 @@ dma_adapter_cap_check(struct event_dma_adapter *adapter)
ret = rte_event_dma_adapter_caps_get(adapter->eventdev_id, adapter->next_dmadev_id, &caps);
if (ret) {
- RTE_EDEV_LOG_ERR("Failed to get adapter caps dev %" PRIu8 " cdev %" PRIu8,
+ RTE_EDEV_LOG_ERR("Failed to get adapter caps dev %" PRIu8 " cdev %" PRIu16,
adapter->eventdev_id, adapter->next_dmadev_id);
return ret;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:38.057487849 +0000
+++ 0032-eventdev-fix-format-string-data-type-in-log-messages.patch 2025-02-12 17:29:34.298945619 +0000
@@ -1 +1 @@
-From b2ff5f66189e75deea067598263929c591250e1b Mon Sep 17 00:00:00 2001
+From fcd0f442faa2129fada0515f252c1fac797cfcce Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b2ff5f66189e75deea067598263929c591250e1b ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'crypto/virtio: fix redundant queue free' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (30 preceding siblings ...)
2025-02-13 9:57 ` patch 'eventdev: fix format string data type in log messages' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'crypto/openssl: fix CMAC auth context update' " Kevin Traynor
` (88 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Rajesh Mudimadugula; +Cc: Akhil Goyal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/df76613de641c3c8c4f11c714985cc25cae1e270
Thanks.
Kevin
---
From df76613de641c3c8c4f11c714985cc25cae1e270 Mon Sep 17 00:00:00 2001
From: Rajesh Mudimadugula <rmudimadugul@marvell.com>
Date: Wed, 27 Nov 2024 14:12:48 +0000
Subject: [PATCH] crypto/virtio: fix redundant queue free
[ upstream commit 89241aba832c044a9efb99329cfaa9faff8a6c4e ]
Remove multiple invocations of virtio_crypto_queue_release,
and set virtio crypto queue as null upon free to avoid
segfaults.
Fixes: 6f0175ff53e0 ("crypto/virtio: support basic PMD ops")
Signed-off-by: Rajesh Mudimadugula <rmudimadugul@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
---
.mailmap | 1 +
drivers/crypto/virtio/virtio_cryptodev.c | 11 +++++------
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/.mailmap b/.mailmap
index 58811dac34..37e2087ec1 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1252,4 +1252,5 @@ Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Rahul Shah <rahul.r.shah@intel.com>
Raja Zidane <rzidane@nvidia.com>
+Rajesh Mudimadugula <rmudimadugul@marvell.com>
Rajesh Ravi <rajesh.ravi@broadcom.com>
Rakesh Kudurumalla <rkudurumalla@marvell.com> <rkudurumalla@caviumnetworks.com>
diff --git a/drivers/crypto/virtio/virtio_cryptodev.c b/drivers/crypto/virtio/virtio_cryptodev.c
index 643921dc02..98415af123 100644
--- a/drivers/crypto/virtio/virtio_cryptodev.c
+++ b/drivers/crypto/virtio/virtio_cryptodev.c
@@ -479,8 +479,11 @@ virtio_crypto_free_queues(struct rte_cryptodev *dev)
/* control queue release */
virtio_crypto_queue_release(hw->cvq);
+ hw->cvq = NULL;
/* data queue release */
- for (i = 0; i < hw->max_dataqueues; i++)
+ for (i = 0; i < hw->max_dataqueues; i++) {
virtio_crypto_queue_release(dev->data->queue_pairs[i]);
+ dev->data->queue_pairs[i] = NULL;
+ }
}
@@ -614,4 +617,5 @@ virtio_crypto_qp_release(struct rte_cryptodev *dev, uint16_t queue_pair_id)
virtio_crypto_queue_release(vq);
+ dev->data->queue_pairs[queue_pair_id] = NULL;
return 0;
}
@@ -761,6 +765,4 @@ static int
virtio_crypto_dev_uninit(struct rte_cryptodev *cryptodev)
{
- struct virtio_crypto_hw *hw = cryptodev->data->dev_private;
-
PMD_INIT_FUNC_TRACE();
@@ -777,7 +779,4 @@ virtio_crypto_dev_uninit(struct rte_cryptodev *cryptodev)
cryptodev->dequeue_burst = NULL;
- /* release control queue */
- virtio_crypto_queue_release(hw->cvq);
-
rte_free(cryptodev->data);
cryptodev->data = NULL;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:38.153245255 +0000
+++ 0033-crypto-virtio-fix-redundant-queue-free.patch 2025-02-12 17:29:34.301945637 +0000
@@ -1 +1 @@
-From 89241aba832c044a9efb99329cfaa9faff8a6c4e Mon Sep 17 00:00:00 2001
+From df76613de641c3c8c4f11c714985cc25cae1e270 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 89241aba832c044a9efb99329cfaa9faff8a6c4e ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 8524952d24..e428ed3dec 100644
+index 58811dac34..37e2087ec1 100644
@@ -24 +25 @@
-@@ -1253,4 +1253,5 @@ Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
+@@ -1252,4 +1252,5 @@ Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'crypto/openssl: fix CMAC auth context update' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (31 preceding siblings ...)
2025-02-13 9:58 ` patch 'crypto/virtio: fix redundant queue free' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 15:18 ` Wathsala Wathawana Vithanage
2025-02-13 9:58 ` patch 'cryptodev: fix C++ include' " Kevin Traynor
` (87 subsequent siblings)
120 siblings, 1 reply; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Wathsala Vithanage; +Cc: Jack Bond-Preston, Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/2ecc6d401bac097e91f52ab2137a8aed7b588c77
Thanks.
Kevin
---
From 2ecc6d401bac097e91f52ab2137a8aed7b588c77 Mon Sep 17 00:00:00 2001
From: Wathsala Vithanage <wathsala.vithanage@arm.com>
Date: Fri, 29 Nov 2024 20:20:22 +0000
Subject: [PATCH] crypto/openssl: fix CMAC auth context update
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 0241aebfa3bdc53fb36972fb116298adbdbd3957 ]
This patch removes an unnecessary cleanup of the shared CMAC context at
the end of the CMAC authentication function, which causes subsequent
calls to it to fail.
Fixes: 17d5bc6135af ("crypto/openssl: make per-QP auth context clones")
Signed-off-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
Reviewed-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/crypto/openssl/rte_openssl_pmd.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c
index d2cf20c059..b090611bd0 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd.c
@@ -1596,7 +1596,4 @@ process_auth_final:
if (CMAC_Final(ctx, dst, (size_t *)&dstlen) != 1)
goto process_auth_err;
-
- CMAC_CTX_cleanup(ctx);
-
return 0;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:38.265596425 +0000
+++ 0034-crypto-openssl-fix-CMAC-auth-context-update.patch 2025-02-12 17:29:34.304945655 +0000
@@ -1 +1 @@
-From 0241aebfa3bdc53fb36972fb116298adbdbd3957 Mon Sep 17 00:00:00 2001
+From 2ecc6d401bac097e91f52ab2137a8aed7b588c77 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 0241aebfa3bdc53fb36972fb116298adbdbd3957 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'cryptodev: fix C++ include' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (32 preceding siblings ...)
2025-02-13 9:58 ` patch 'crypto/openssl: fix CMAC auth context update' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'crypto/virtio: fix data queues iteration' " Kevin Traynor
` (86 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Thomas Monjalon
Cc: Zhigang Hu, David Marchand, Mattias Rönnblom, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/5d53e2600183649b4274e45c2ba421342a6c25e7
Thanks.
Kevin
---
From 5d53e2600183649b4274e45c2ba421342a6c25e7 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Thu, 19 Dec 2024 14:30:50 +0100
Subject: [PATCH] cryptodev: fix C++ include
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 24d4d29b5f553e0bae42702b246ae97a812e8f45 ]
Some cryptodev functions were not included in an extern "C" block.
There are 2 blocks, the second one being fast path inline functions,
preceded with an include of the required rte_cryptodev_core.h file.
Fixes: 719834a6849e ("use C linkage where appropriate in headers")
Reported-by: Zhigang Hu <zhigang.hu@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
.mailmap | 1 +
lib/cryptodev/rte_cryptodev.h | 12 ++++++++++--
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/.mailmap b/.mailmap
index 37e2087ec1..bd4b6778ec 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1799,4 +1799,5 @@ Zhenning Xiao <zhenning.xiao@intel.com>
Zhe Tao <zhe.tao@intel.com>
Zhichao Zeng <zhichaox.zeng@intel.com>
+Zhigang Hu <zhigang.hu@intel.com>
Zhigang Lu <zlu@ezchip.com>
Zhiguang He <hezhiguang3@huawei.com>
diff --git a/lib/cryptodev/rte_cryptodev.h b/lib/cryptodev/rte_cryptodev.h
index c64d2f83a0..071ff3dbdf 100644
--- a/lib/cryptodev/rte_cryptodev.h
+++ b/lib/cryptodev/rte_cryptodev.h
@@ -23,4 +23,8 @@
#include "rte_cryptodev_trace_fp.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @internal Logtype used for cryptodev related messages.
@@ -1929,9 +1933,14 @@ int rte_cryptodev_remove_deq_callback(uint8_t dev_id,
struct rte_cryptodev_cb *cb);
-#include <rte_cryptodev_core.h>
+#ifdef __cplusplus
+}
+#endif
+
+#include "rte_cryptodev_core.h"
#ifdef __cplusplus
extern "C" {
#endif
+
/**
*
@@ -2126,5 +2135,4 @@ out:
}
-
#ifdef __cplusplus
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:38.374167993 +0000
+++ 0035-cryptodev-fix-C-include.patch 2025-02-12 17:29:34.309945685 +0000
@@ -1 +1 @@
-From 24d4d29b5f553e0bae42702b246ae97a812e8f45 Mon Sep 17 00:00:00 2001
+From 5d53e2600183649b4274e45c2ba421342a6c25e7 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 24d4d29b5f553e0bae42702b246ae97a812e8f45 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index e428ed3dec..76f65e5114 100644
+index 37e2087ec1..bd4b6778ec 100644
@@ -30 +31 @@
-@@ -1801,4 +1801,5 @@ Zhenning Xiao <zhenning.xiao@intel.com>
+@@ -1799,4 +1799,5 @@ Zhenning Xiao <zhenning.xiao@intel.com>
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'crypto/virtio: fix data queues iteration' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (33 preceding siblings ...)
2025-02-13 9:58 ` patch 'cryptodev: fix C++ include' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/octeon_ep: remove useless assignment' " Kevin Traynor
` (85 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Gowrishankar Muthukrishnan; +Cc: Akhil Goyal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/ec9f33f1daf1ef1506776ff0ca817593c5e7667f
Thanks.
Kevin
---
From ec9f33f1daf1ef1506776ff0ca817593c5e7667f Mon Sep 17 00:00:00 2001
From: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Date: Tue, 7 Jan 2025 23:06:02 +0530
Subject: [PATCH] crypto/virtio: fix data queues iteration
[ upstream commit e27ff6e63a8d6202149d5b458ad3d78711806dfc ]
Fix dataqueues iteration using nb_queue_pairs info available in
device data instead of max dataqueues as dataqueue count might
have been changed in device configuration.
Fixes: 6f0175ff53e0 ("crypto/virtio: support basic PMD ops")
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
---
drivers/crypto/virtio/virtio_cryptodev.c | 3 +--
drivers/crypto/virtio/virtio_rxtx.c | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/crypto/virtio/virtio_cryptodev.c b/drivers/crypto/virtio/virtio_cryptodev.c
index 98415af123..b4a6fae9e0 100644
--- a/drivers/crypto/virtio/virtio_cryptodev.c
+++ b/drivers/crypto/virtio/virtio_cryptodev.c
@@ -849,7 +849,6 @@ virtio_crypto_dev_free_mbufs(struct rte_cryptodev *dev)
{
uint32_t i;
- struct virtio_crypto_hw *hw = dev->data->dev_private;
- for (i = 0; i < hw->max_dataqueues; i++) {
+ for (i = 0; i < dev->data->nb_queue_pairs; i++) {
VIRTIO_CRYPTO_INIT_LOG_DBG("Before freeing dataq[%d] used "
"and unused buf", i);
diff --git a/drivers/crypto/virtio/virtio_rxtx.c b/drivers/crypto/virtio/virtio_rxtx.c
index 48b5f4ebbb..d02486661f 100644
--- a/drivers/crypto/virtio/virtio_rxtx.c
+++ b/drivers/crypto/virtio/virtio_rxtx.c
@@ -420,10 +420,9 @@ virtio_crypto_dataq_start(struct rte_cryptodev *dev)
*/
uint16_t i;
- struct virtio_crypto_hw *hw = dev->data->dev_private;
PMD_INIT_FUNC_TRACE();
/* Start data vring. */
- for (i = 0; i < hw->max_dataqueues; i++) {
+ for (i = 0; i < dev->data->nb_queue_pairs; i++) {
virtio_crypto_vring_start(dev->data->queue_pairs[i]);
VIRTQUEUE_DUMP((struct virtqueue *)dev->data->queue_pairs[i]);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:38.501734256 +0000
+++ 0036-crypto-virtio-fix-data-queues-iteration.patch 2025-02-12 17:29:34.311945697 +0000
@@ -1 +1 @@
-From e27ff6e63a8d6202149d5b458ad3d78711806dfc Mon Sep 17 00:00:00 2001
+From ec9f33f1daf1ef1506776ff0ca817593c5e7667f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e27ff6e63a8d6202149d5b458ad3d78711806dfc ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/octeon_ep: remove useless assignment' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (34 preceding siblings ...)
2025-02-13 9:58 ` patch 'crypto/virtio: fix data queues iteration' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/enetfec: " Kevin Traynor
` (84 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Ariel Otilibili; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/f980e6fb223808b55656ebc96d27739e0188262b
Thanks.
Kevin
---
From f980e6fb223808b55656ebc96d27739e0188262b Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <otilibil@eurecom.fr>
Date: Wed, 18 Dec 2024 21:00:09 +0100
Subject: [PATCH] net/octeon_ep: remove useless assignment
[ upstream commit 4143d5f09074c15706479ad4e271f3ab16d90579 ]
Coverity issue: 385414
Fixes: c836a7ba33ee ("net/octeon_ep: support mailbox between VF and PF")
Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
---
drivers/net/octeon_ep/otx_ep_mbox.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/net/octeon_ep/otx_ep_mbox.c b/drivers/net/octeon_ep/otx_ep_mbox.c
index 64a51c1fd0..1d7e08d2cc 100644
--- a/drivers/net/octeon_ep/otx_ep_mbox.c
+++ b/drivers/net/octeon_ep/otx_ep_mbox.c
@@ -257,7 +257,4 @@ int otx_ep_mbox_get_link_info(struct rte_eth_dev *eth_dev,
link->link_status = RTE_ETH_LINK_UP;
link->link_duplex = RTE_ETH_LINK_FULL_DUPLEX;
- link->link_autoneg = (link_info.autoneg ==
- OTX_EP_LINK_AUTONEG) ? RTE_ETH_LINK_AUTONEG : RTE_ETH_LINK_FIXED;
-
link->link_autoneg = link_info.autoneg;
link->link_speed = link_info.speed;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:38.598812315 +0000
+++ 0037-net-octeon_ep-remove-useless-assignment.patch 2025-02-12 17:29:34.311945697 +0000
@@ -1 +1 @@
-From 4143d5f09074c15706479ad4e271f3ab16d90579 Mon Sep 17 00:00:00 2001
+From f980e6fb223808b55656ebc96d27739e0188262b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4143d5f09074c15706479ad4e271f3ab16d90579 ]
+
@@ -8 +9,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/enetfec: remove useless assignment' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (35 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/octeon_ep: remove useless assignment' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/gve: allocate Rx QPL pages using malloc' " Kevin Traynor
` (83 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Ariel Otilibili; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/527874f6150db66db7ca0587fc969919fa2a6fee
Thanks.
Kevin
---
From 527874f6150db66db7ca0587fc969919fa2a6fee Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <otilibil@eurecom.fr>
Date: Wed, 18 Dec 2024 21:00:09 +0100
Subject: [PATCH] net/enetfec: remove useless assignment
[ upstream commit 93fdf2ab302f244076c3894ab4a1a5b86d704eae ]
Coverity issue: 374016
Fixes: bb5b5bf1e5c6 ("net/enetfec: support queue configuration")
Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
---
drivers/net/enetfec/enet_ethdev.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/net/enetfec/enet_ethdev.c b/drivers/net/enetfec/enet_ethdev.c
index 91c0f60490..0d27b63953 100644
--- a/drivers/net/enetfec/enet_ethdev.c
+++ b/drivers/net/enetfec/enet_ethdev.c
@@ -416,5 +416,4 @@ enetfec_tx_queue_setup(struct rte_eth_dev *dev,
bd_base = (struct bufdesc *)(((uintptr_t)bd_base) + size);
txq->bd.last = (struct bufdesc *)(((uintptr_t)bd_base) - dsize);
- bdp = txq->bd.base;
bdp = txq->bd.cur;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:38.698444277 +0000
+++ 0038-net-enetfec-remove-useless-assignment.patch 2025-02-12 17:29:34.312945703 +0000
@@ -1 +1 @@
-From 93fdf2ab302f244076c3894ab4a1a5b86d704eae Mon Sep 17 00:00:00 2001
+From 527874f6150db66db7ca0587fc969919fa2a6fee Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 93fdf2ab302f244076c3894ab4a1a5b86d704eae ]
+
@@ -8 +9,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/gve: allocate Rx QPL pages using malloc' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (36 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/enetfec: " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/nfp: fix multiple PFs check from NSP' " Kevin Traynor
` (82 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Praveen Kaligineedi; +Cc: Joshua Washington, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/9873a135bfba543a7d63145b3e304f839b3d116d
Thanks.
Kevin
---
From 9873a135bfba543a7d63145b3e304f839b3d116d Mon Sep 17 00:00:00 2001
From: Praveen Kaligineedi <pkaligineedi@google.com>
Date: Thu, 9 Jan 2025 11:46:38 -0800
Subject: [PATCH] net/gve: allocate Rx QPL pages using malloc
[ upstream commit a71168a775e658ac7e9cc839f53d25953d45bed9 ]
Allocating QPL for an RX queue might fail if enough contiguous IOVA
memory cannot be allocated. This can commonly occur when using 2MB huge
pages because the 1024 4K buffers are allocated for each RX ring by
default, resulting in 4MB for each ring. However, the only requirement
for RX QPLs is that each 4K buffer be IOVA contiguous, not the entire
QPL. Therefore, malloc will be used to allocate RX QPLs instead.
Note that TX queues require the entire QPL to be IOVA contiguous, so it
will continue to use the memzone-based allocation.
Fixes: a46583cf43c8 ("net/gve: support Rx/Tx")
Signed-off-by: Praveen Kaligineedi <pkaligineedi@google.com>
Signed-off-by: Joshua Washington <joshwash@google.com>
---
drivers/net/gve/gve_ethdev.c | 110 ++++++++++++++++++++++++++++-------
drivers/net/gve/gve_ethdev.h | 5 +-
drivers/net/gve/gve_rx.c | 2 +-
3 files changed, 93 insertions(+), 24 deletions(-)
diff --git a/drivers/net/gve/gve_ethdev.c b/drivers/net/gve/gve_ethdev.c
index db4ebe7036..e471a34e61 100644
--- a/drivers/net/gve/gve_ethdev.c
+++ b/drivers/net/gve/gve_ethdev.c
@@ -23,40 +23,95 @@ gve_write_version(uint8_t *driver_version_register)
}
-static struct gve_queue_page_list *
-gve_alloc_queue_page_list(const char *name, uint32_t num_pages)
+static const struct rte_memzone *
+gve_alloc_using_mz(const char *name, uint32_t num_pages)
{
- struct gve_queue_page_list *qpl;
const struct rte_memzone *mz;
- dma_addr_t page_bus;
- uint32_t i;
-
- qpl = rte_zmalloc("qpl struct", sizeof(struct gve_queue_page_list), 0);
- if (!qpl)
- return NULL;
-
mz = rte_memzone_reserve_aligned(name, num_pages * PAGE_SIZE,
rte_socket_id(),
RTE_MEMZONE_IOVA_CONTIG, PAGE_SIZE);
- if (mz == NULL) {
- PMD_DRV_LOG(ERR, "Failed to alloc %s.", name);
- goto free_qpl_struct;
+ if (mz == NULL)
+ PMD_DRV_LOG(ERR, "Failed to alloc memzone %s.", name);
+ return mz;
+}
+
+static int
+gve_alloc_using_malloc(void **bufs, uint32_t num_entries)
+{
+ uint32_t i;
+
+ for (i = 0; i < num_entries; i++) {
+ bufs[i] = rte_malloc_socket(NULL, PAGE_SIZE, PAGE_SIZE, rte_socket_id());
+ if (bufs[i] == NULL) {
+ PMD_DRV_LOG(ERR, "Failed to malloc");
+ goto free_bufs;
+ }
}
+ return 0;
+
+free_bufs:
+ while (i > 0)
+ rte_free(bufs[--i]);
+
+ return -ENOMEM;
+}
+
+static struct gve_queue_page_list *
+gve_alloc_queue_page_list(const char *name, uint32_t num_pages, bool is_rx)
+{
+ struct gve_queue_page_list *qpl;
+ const struct rte_memzone *mz;
+ uint32_t i;
+
+ qpl = rte_zmalloc("qpl struct", sizeof(struct gve_queue_page_list), 0);
+ if (!qpl)
+ return NULL;
+
qpl->page_buses = rte_zmalloc("qpl page buses",
num_pages * sizeof(dma_addr_t), 0);
if (qpl->page_buses == NULL) {
PMD_DRV_LOG(ERR, "Failed to alloc qpl page buses");
- goto free_qpl_memzone;
+ goto free_qpl_struct;
}
- page_bus = mz->iova;
- for (i = 0; i < num_pages; i++) {
- qpl->page_buses[i] = page_bus;
- page_bus += PAGE_SIZE;
+
+ if (is_rx) {
+ /* RX QPL need not be IOVA contiguous.
+ * Allocate 4K size buffers using malloc
+ */
+ qpl->qpl_bufs = rte_zmalloc("qpl bufs",
+ num_pages * sizeof(void *), 0);
+ if (qpl->qpl_bufs == NULL) {
+ PMD_DRV_LOG(ERR, "Failed to alloc qpl bufs");
+ goto free_qpl_page_buses;
+ }
+
+ if (gve_alloc_using_malloc(qpl->qpl_bufs, num_pages))
+ goto free_qpl_page_bufs;
+
+ /* Populate the IOVA addresses */
+ for (i = 0; i < num_pages; i++)
+ qpl->page_buses[i] =
+ rte_malloc_virt2iova(qpl->qpl_bufs[i]);
+ } else {
+ /* TX QPL needs to be IOVA contiguous
+ * Allocate QPL using memzone
+ */
+ mz = gve_alloc_using_mz(name, num_pages);
+ if (!mz)
+ goto free_qpl_page_buses;
+
+ qpl->mz = mz;
+
+ /* Populate the IOVA addresses */
+ for (i = 0; i < num_pages; i++)
+ qpl->page_buses[i] = mz->iova + i * PAGE_SIZE;
}
- qpl->mz = mz;
+
qpl->num_entries = num_pages;
return qpl;
-free_qpl_memzone:
- rte_memzone_free(qpl->mz);
+free_qpl_page_bufs:
+ rte_free(qpl->qpl_bufs);
+free_qpl_page_buses:
+ rte_free(qpl->page_buses);
free_qpl_struct:
rte_free(qpl);
@@ -70,5 +125,16 @@ gve_free_queue_page_list(struct gve_queue_page_list *qpl)
rte_memzone_free(qpl->mz);
qpl->mz = NULL;
+ } else if (qpl->qpl_bufs) {
+ uint32_t i;
+
+ for (i = 0; i < qpl->num_entries; i++)
+ rte_free(qpl->qpl_bufs[i]);
}
+
+ if (qpl->qpl_bufs) {
+ rte_free(qpl->qpl_bufs);
+ qpl->qpl_bufs = NULL;
+ }
+
if (qpl->page_buses) {
rte_free(qpl->page_buses);
@@ -90,5 +156,5 @@ gve_setup_queue_page_list(struct gve_priv *priv, uint16_t queue_id, bool is_rx,
snprintf(qpl_name, sizeof(qpl_name), "gve_%s_%s_qpl%d",
priv->pci_dev->device.name, queue_type_string, queue_id);
- qpl = gve_alloc_queue_page_list(qpl_name, num_pages);
+ qpl = gve_alloc_queue_page_list(qpl_name, num_pages, is_rx);
if (!qpl) {
PMD_DRV_LOG(ERR,
diff --git a/drivers/net/gve/gve_ethdev.h b/drivers/net/gve/gve_ethdev.h
index c417a0b31c..35cb9062b1 100644
--- a/drivers/net/gve/gve_ethdev.h
+++ b/drivers/net/gve/gve_ethdev.h
@@ -63,5 +63,8 @@ struct gve_queue_page_list {
uint32_t num_entries;
dma_addr_t *page_buses; /* the dma addrs of the pages */
- const struct rte_memzone *mz;
+ union {
+ const struct rte_memzone *mz; /* memzone allocated for TX queue */
+ void **qpl_bufs; /* RX qpl-buffer list allocated using malloc*/
+ };
};
diff --git a/drivers/net/gve/gve_rx.c b/drivers/net/gve/gve_rx.c
index 1f5fa3f1da..7a91c31ad2 100644
--- a/drivers/net/gve/gve_rx.c
+++ b/drivers/net/gve/gve_rx.c
@@ -118,5 +118,5 @@ gve_rx_mbuf(struct gve_rx_queue *rxq, struct rte_mbuf *rxe, uint16_t len,
}
if (rxq->is_gqi_qpl) {
- addr = (uint64_t)(rxq->qpl->mz->addr) + rx_id * PAGE_SIZE + padding;
+ addr = (uint64_t)rxq->qpl->qpl_bufs[rx_id] + padding;
rte_memcpy((void *)((size_t)rxe->buf_addr + rxe->data_off),
(void *)(size_t)addr, len);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:38.798525945 +0000
+++ 0039-net-gve-allocate-Rx-QPL-pages-using-malloc.patch 2025-02-12 17:29:34.315945721 +0000
@@ -1 +1 @@
-From a71168a775e658ac7e9cc839f53d25953d45bed9 Mon Sep 17 00:00:00 2001
+From 9873a135bfba543a7d63145b3e304f839b3d116d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a71168a775e658ac7e9cc839f53d25953d45bed9 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/nfp: fix multiple PFs check from NSP' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (37 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/gve: allocate Rx QPL pages using malloc' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/nfp: fix misuse of function return values' " Kevin Traynor
` (81 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Zerun Fu; +Cc: Chaoyong He, Long Wu, Peng Zhang, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/7f3506343cd492b6ff54e0f2abec67bfbd9c000d
Thanks.
Kevin
---
From 7f3506343cd492b6ff54e0f2abec67bfbd9c000d Mon Sep 17 00:00:00 2001
From: Zerun Fu <zerun.fu@corigine.com>
Date: Wed, 22 Jan 2025 09:28:15 +0800
Subject: [PATCH] net/nfp: fix multiple PFs check from NSP
[ upstream commit c19d389f5b553b0a9dddbb22882750c17a6fa577 ]
Fix multiple PFs check from NSP problem in the logic of PF initialization.
Fixes: 8ad2cc8fec37 ("net/nfp: add flag for multiple PFs support")
Signed-off-by: Zerun Fu <zerun.fu@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Peng Zhang <peng.zhang@corigine.com>
---
drivers/net/nfp/nfp_ethdev.c | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c
index f54483822f..aad044a0f7 100644
--- a/drivers/net/nfp/nfp_ethdev.c
+++ b/drivers/net/nfp/nfp_ethdev.c
@@ -1750,9 +1750,9 @@ nfp_check_multi_pf_from_fw(uint32_t total_vnics)
}
-static inline bool
+static inline int
nfp_check_multi_pf_from_nsp(struct rte_pci_device *pci_dev,
- struct nfp_cpp *cpp)
+ struct nfp_cpp *cpp,
+ bool *flag)
{
- bool flag;
struct nfp_nsp *nsp;
@@ -1760,12 +1760,13 @@ nfp_check_multi_pf_from_nsp(struct rte_pci_device *pci_dev,
if (nsp == NULL) {
PMD_DRV_LOG(ERR, "NFP error when obtaining NSP handle.");
- return false;
+ return -EIO;
}
- flag = (nfp_nsp_get_abi_ver_major(nsp) > 0) &&
+ *flag = (nfp_nsp_get_abi_ver_major(nsp) > 0) &&
(pci_dev->id.device_id == PCI_DEVICE_ID_NFP3800_PF_NIC);
nfp_nsp_close(nsp);
- return flag;
+
+ return 0;
}
@@ -2433,6 +2434,11 @@ nfp_pf_init(struct rte_pci_device *pci_dev)
}
+ ret = nfp_check_multi_pf_from_nsp(pci_dev, cpp, &pf_dev->multi_pf.enabled);
+ if (ret != 0) {
+ PMD_INIT_LOG(ERR, "Failed to check multi pf from NSP.");
+ goto eth_table_cleanup;
+ }
+
pf_dev->nfp_eth_table = nfp_eth_table;
- pf_dev->multi_pf.enabled = nfp_check_multi_pf_from_nsp(pci_dev, cpp);
pf_dev->multi_pf.function_id = function_id;
pf_dev->total_phyports = nfp_net_get_phyports_from_nsp(pf_dev);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:38.896473064 +0000
+++ 0040-net-nfp-fix-multiple-PFs-check-from-NSP.patch 2025-02-12 17:29:34.318945739 +0000
@@ -1 +1 @@
-From c19d389f5b553b0a9dddbb22882750c17a6fa577 Mon Sep 17 00:00:00 2001
+From 7f3506343cd492b6ff54e0f2abec67bfbd9c000d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c19d389f5b553b0a9dddbb22882750c17a6fa577 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index df5482f74a..58a5b1d94e 100644
+index f54483822f..aad044a0f7 100644
@@ -23 +24 @@
-@@ -1752,9 +1752,9 @@ nfp_check_multi_pf_from_fw(uint32_t total_vnics)
+@@ -1750,9 +1750,9 @@ nfp_check_multi_pf_from_fw(uint32_t total_vnics)
@@ -36 +37 @@
-@@ -1762,12 +1762,13 @@ nfp_check_multi_pf_from_nsp(struct rte_pci_device *pci_dev,
+@@ -1760,12 +1760,13 @@ nfp_check_multi_pf_from_nsp(struct rte_pci_device *pci_dev,
@@ -53 +54 @@
-@@ -2435,6 +2436,11 @@ nfp_pf_init(struct rte_pci_device *pci_dev)
+@@ -2433,6 +2434,11 @@ nfp_pf_init(struct rte_pci_device *pci_dev)
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/nfp: fix misuse of function return values' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (38 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/nfp: fix multiple PFs check from NSP' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/nfp: fix multi-PF control flag' " Kevin Traynor
` (80 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Zerun Fu; +Cc: Chaoyong He, Long Wu, Peng Zhang, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/64c3aa631f76779366ce3a71c35985baac6806f4
Thanks.
Kevin
---
From 64c3aa631f76779366ce3a71c35985baac6806f4 Mon Sep 17 00:00:00 2001
From: Zerun Fu <zerun.fu@corigine.com>
Date: Wed, 22 Jan 2025 09:33:20 +0800
Subject: [PATCH] net/nfp: fix misuse of function return values
[ upstream commit f19ffdb1574cb0a9c9566b0b5c4098beb95ced49 ]
The 'nfp_ct_offload_add()' return 0 means the result is right
while return negative number means the wrong result.
The caller assigns the 'int' variable to the 'bool' variable.
So the negative number will be transform to 'true'. This will
cause an error because 'true' will be regard as no problem.
Fixes: b4ae16eae01c ("net/nfp: support to add and delete flows to firmware")
Signed-off-by: Zerun Fu <zerun.fu@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Peng Zhang <peng.zhang@corigine.com>
---
drivers/net/nfp/flower/nfp_conntrack.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/nfp/flower/nfp_conntrack.c b/drivers/net/nfp/flower/nfp_conntrack.c
index 0b21e4ee5b..439a1a1b0e 100644
--- a/drivers/net/nfp/flower/nfp_conntrack.c
+++ b/drivers/net/nfp/flower/nfp_conntrack.c
@@ -1441,4 +1441,5 @@ nfp_ct_do_flow_merge(struct nfp_ct_zone_entry *ze,
struct nfp_ct_flow_entry *post_ct_entry)
{
+ int err;
bool ret;
uint64_t new_cookie[2];
@@ -1509,7 +1510,8 @@ nfp_ct_do_flow_merge(struct nfp_ct_zone_entry *ze,
/* Send to firmware */
- ret = nfp_ct_offload_add(pre_ct_entry->dev, merge_entry);
- if (ret != 0) {
+ err = nfp_ct_offload_add(pre_ct_entry->dev, merge_entry);
+ if (err != 0) {
PMD_DRV_LOG(ERR, "Send the merged flow to firmware failed.");
+ ret = false;
goto merge_table_del;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:38.985494059 +0000
+++ 0041-net-nfp-fix-misuse-of-function-return-values.patch 2025-02-12 17:29:34.320945751 +0000
@@ -1 +1 @@
-From f19ffdb1574cb0a9c9566b0b5c4098beb95ced49 Mon Sep 17 00:00:00 2001
+From 64c3aa631f76779366ce3a71c35985baac6806f4 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f19ffdb1574cb0a9c9566b0b5c4098beb95ced49 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/nfp: fix multi-PF control flag' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (39 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/nfp: fix misuse of function return values' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/nfp: fix firmware load from flash' " Kevin Traynor
` (79 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Peng Zhang; +Cc: Chaoyong He, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/c8a72ba74a128a7bbf630c4eb789cb4b89d765a7
Thanks.
Kevin
---
From c8a72ba74a128a7bbf630c4eb789cb4b89d765a7 Mon Sep 17 00:00:00 2001
From: Peng Zhang <peng.zhang@corigine.com>
Date: Wed, 22 Jan 2025 09:39:30 +0800
Subject: [PATCH] net/nfp: fix multi-PF control flag
[ upstream commit 02c056aaac1ba1bd16658eef19cb78457d556041 ]
In the original logic of 'nfp_net_start()', we don't set the
'NFP_NET_CFG_CTRL_MULTI_PF' flag when using multi-pf firmware.
Fix it by adding the missing logic.
Fixes: 95f978efab42 ("net/nfp: enable multiple PF in application firmware")
Signed-off-by: Peng Zhang <peng.zhang@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
---
drivers/net/nfp/nfp_ethdev.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c
index aad044a0f7..dce03ed550 100644
--- a/drivers/net/nfp/nfp_ethdev.c
+++ b/drivers/net/nfp/nfp_ethdev.c
@@ -473,4 +473,7 @@ nfp_net_start(struct rte_eth_dev *dev)
ctrl_extend |= NFP_NET_CFG_CTRL_FLOW_STEER;
+ if ((cap_extend & NFP_NET_CFG_CTRL_MULTI_PF) != 0 && pf_dev->multi_pf.enabled)
+ ctrl_extend |= NFP_NET_CFG_CTRL_MULTI_PF;
+
update = NFP_NET_CFG_UPDATE_GEN;
if (nfp_ext_reconfig(hw, ctrl_extend, update) != 0)
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:39.079266134 +0000
+++ 0042-net-nfp-fix-multi-PF-control-flag.patch 2025-02-12 17:29:34.323945769 +0000
@@ -1 +1 @@
-From 02c056aaac1ba1bd16658eef19cb78457d556041 Mon Sep 17 00:00:00 2001
+From c8a72ba74a128a7bbf630c4eb789cb4b89d765a7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 02c056aaac1ba1bd16658eef19cb78457d556041 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 58a5b1d94e..ca808afdd9 100644
+index aad044a0f7..dce03ed550 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/nfp: fix firmware load from flash' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (40 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/nfp: fix multi-PF control flag' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/ice: fix flows handling' " Kevin Traynor
` (78 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Chaoyong He; +Cc: Long Wu, Peng Zhang, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/878de746e37734e368f4d250699e5af438d7b905
Thanks.
Kevin
---
From 878de746e37734e368f4d250699e5af438d7b905 Mon Sep 17 00:00:00 2001
From: Chaoyong He <chaoyong.he@corigine.com>
Date: Wed, 22 Jan 2025 09:47:50 +0800
Subject: [PATCH] net/nfp: fix firmware load from flash
[ upstream commit d7c07c8e29bea66622183e4279d881c20fafe375 ]
The firmware load policy 'NFP_NSP_APP_FW_LOAD_FLASH' means first try to
load from file system, if failed then try to load from flash.
The original logic will cause load firmware fail if any mistake occurs
in the load from file system process.
Fix this by relocated the related logic.
Fixes: 08ea495d624b ("net/nfp: support loading firmware from flash")
Signed-off-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Peng Zhang <peng.zhang@corigine.com>
---
drivers/net/nfp/nfp_ethdev.c | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c
index dce03ed550..b3d7bc301b 100644
--- a/drivers/net/nfp/nfp_ethdev.c
+++ b/drivers/net/nfp/nfp_ethdev.c
@@ -1533,11 +1533,5 @@ nfp_fw_reload_for_single_pf(struct nfp_nsp *nsp,
int ret;
- if (policy == NFP_NSP_APP_FW_LOAD_FLASH && nfp_nsp_has_stored_fw_load(nsp)) {
- ret = nfp_fw_reload_from_flash(nsp);
- if (ret != 0) {
- PMD_DRV_LOG(ERR, "Load single PF firmware from flash failed.");
- return ret;
- }
- } else if (fw_name[0] != 0) {
+ if (fw_name[0] != 0 && policy != NFP_NSP_APP_FW_LOAD_FLASH) {
ret = nfp_fw_reload_for_single_pf_from_disk(nsp, fw_name, pf_dev, reset);
if (ret != 0) {
@@ -1545,4 +1539,10 @@ nfp_fw_reload_for_single_pf(struct nfp_nsp *nsp,
return ret;
}
+ } else if (policy != NFP_NSP_APP_FW_LOAD_DISK && nfp_nsp_has_stored_fw_load(nsp)) {
+ ret = nfp_fw_reload_from_flash(nsp);
+ if (ret != 0) {
+ PMD_DRV_LOG(ERR, "Load single PF firmware from flash failed.");
+ return ret;
+ }
} else {
PMD_DRV_LOG(ERR, "Not load firmware, please update flash or recofigure card.");
@@ -1609,11 +1609,5 @@ nfp_fw_reload_for_multi_pf(struct nfp_nsp *nsp,
}
- if (policy == NFP_NSP_APP_FW_LOAD_FLASH && nfp_nsp_has_stored_fw_load(nsp)) {
- err = nfp_fw_reload_from_flash(nsp);
- if (err != 0) {
- PMD_DRV_LOG(ERR, "Load multi PF firmware from flash failed.");
- goto keepalive_stop;
- }
- } else if (fw_name[0] != 0) {
+ if (fw_name[0] != 0 && policy != NFP_NSP_APP_FW_LOAD_FLASH) {
err = nfp_fw_reload_for_multi_pf_from_disk(nsp, fw_name, dev_info,
pf_dev, reset);
@@ -1622,4 +1616,10 @@ nfp_fw_reload_for_multi_pf(struct nfp_nsp *nsp,
goto keepalive_stop;
}
+ } else if (policy != NFP_NSP_APP_FW_LOAD_DISK && nfp_nsp_has_stored_fw_load(nsp)) {
+ err = nfp_fw_reload_from_flash(nsp);
+ if (err != 0) {
+ PMD_DRV_LOG(ERR, "Load multi PF firmware from flash failed.");
+ goto keepalive_stop;
+ }
} else {
PMD_DRV_LOG(ERR, "Not load firmware, please update flash or recofigure card.");
@@ -1727,6 +1727,6 @@ nfp_fw_setup(struct nfp_pf_dev *pf_dev,
err = nfp_fw_get_name(pf_dev, fw_name, sizeof(fw_name));
if (err != 0) {
- PMD_DRV_LOG(ERR, "Can not find suitable firmware.");
- goto close_nsp;
+ fw_name[0] = 0;
+ PMD_DRV_LOG(DEBUG, "Can not find suitable firmware.");
}
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:39.181234426 +0000
+++ 0043-net-nfp-fix-firmware-load-from-flash.patch 2025-02-12 17:29:34.325945781 +0000
@@ -1 +1 @@
-From d7c07c8e29bea66622183e4279d881c20fafe375 Mon Sep 17 00:00:00 2001
+From 878de746e37734e368f4d250699e5af438d7b905 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d7c07c8e29bea66622183e4279d881c20fafe375 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index ca808afdd9..b9cb9fc652 100644
+index dce03ed550..b3d7bc301b 100644
@@ -28 +29 @@
-@@ -1535,11 +1535,5 @@ nfp_fw_reload_for_single_pf(struct nfp_nsp *nsp,
+@@ -1533,11 +1533,5 @@ nfp_fw_reload_for_single_pf(struct nfp_nsp *nsp,
@@ -41 +42 @@
-@@ -1547,4 +1541,10 @@ nfp_fw_reload_for_single_pf(struct nfp_nsp *nsp,
+@@ -1545,4 +1539,10 @@ nfp_fw_reload_for_single_pf(struct nfp_nsp *nsp,
@@ -52 +53 @@
-@@ -1611,11 +1611,5 @@ nfp_fw_reload_for_multi_pf(struct nfp_nsp *nsp,
+@@ -1609,11 +1609,5 @@ nfp_fw_reload_for_multi_pf(struct nfp_nsp *nsp,
@@ -65 +66 @@
-@@ -1624,4 +1618,10 @@ nfp_fw_reload_for_multi_pf(struct nfp_nsp *nsp,
+@@ -1622,4 +1616,10 @@ nfp_fw_reload_for_multi_pf(struct nfp_nsp *nsp,
@@ -76 +77 @@
-@@ -1729,6 +1729,6 @@ nfp_fw_setup(struct nfp_pf_dev *pf_dev,
+@@ -1727,6 +1727,6 @@ nfp_fw_setup(struct nfp_pf_dev *pf_dev,
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/ice: fix flows handling' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (41 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/nfp: fix firmware load from flash' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/cnxk: fix NIX send header L3 type' " Kevin Traynor
` (77 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Vladimir Medvedkin; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/0ee5bed6e573af387888f90285310c339e75508f
Thanks.
Kevin
---
From 0ee5bed6e573af387888f90285310c339e75508f Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Date: Thu, 30 Jan 2025 16:14:42 +0000
Subject: [PATCH] net/ice: fix flows handling
[ upstream commit fabc9e1322e26b41ab74a8e35dcb477c702c3f6d ]
Currently ICE PMD uses group attribute to select the appropriate HW engine
to offload the flow. This behavior violates the rte_flow API, existing
documentation/examples, and reveals hardware specific details.
This patch eliminates the use of the group attribute and runs each engine
parser in the order they work in the HW pipeline.
Fixes: 9c5f0070fa3f ("net/ice: map group to pipeline stage")
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/ice/ice_generic_flow.c | 30 +++++++++++++++++-------------
1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/drivers/net/ice/ice_generic_flow.c b/drivers/net/ice/ice_generic_flow.c
index 50d760004f..5c34e0385f 100644
--- a/drivers/net/ice/ice_generic_flow.c
+++ b/drivers/net/ice/ice_generic_flow.c
@@ -21,4 +21,6 @@
#define ICE_FLOW_ENGINE_DISABLED(mask, type) ((mask) & BIT(type))
+#define ICE_FLOW_ENGINE_NB 3
+
static struct ice_engine_list engine_list =
TAILQ_HEAD_INITIALIZER(engine_list);
@@ -2296,19 +2298,21 @@ ice_flow_process_filter(struct rte_eth_dev *dev,
}
- parser = get_flow_parser(attr->group);
- if (parser == NULL) {
- rte_flow_error_set(error, EINVAL,
- RTE_FLOW_ERROR_TYPE_ATTR,
- NULL, "NULL attribute.");
- return -rte_errno;
- }
+ for (int i = 0; i < ICE_FLOW_ENGINE_NB; i++) {
+ parser = get_flow_parser(i);
+ if (parser == NULL) {
+ rte_flow_error_set(error, EINVAL,
+ RTE_FLOW_ERROR_TYPE_ATTR,
+ NULL, "NULL attribute.");
+ return -rte_errno;
+ }
- if (ice_parse_engine(ad, flow, parser, attr->priority,
- pattern, actions, error)) {
- *engine = parser->engine;
- return 0;
- } else {
- return -rte_errno;
+ if (ice_parse_engine(ad, flow, parser, attr->priority,
+ pattern, actions, error)) {
+ *engine = parser->engine;
+ return 0;
+ }
}
+
+ return -rte_errno;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:39.283320235 +0000
+++ 0044-net-ice-fix-flows-handling.patch 2025-02-12 17:29:34.328945798 +0000
@@ -1 +1 @@
-From fabc9e1322e26b41ab74a8e35dcb477c702c3f6d Mon Sep 17 00:00:00 2001
+From 0ee5bed6e573af387888f90285310c339e75508f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fabc9e1322e26b41ab74a8e35dcb477c702c3f6d ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
- drivers/net/intel/ice/ice_generic_flow.c | 30 ++++++++++++++----------
+ drivers/net/ice/ice_generic_flow.c | 30 +++++++++++++++++-------------
@@ -22 +23 @@
-diff --git a/drivers/net/intel/ice/ice_generic_flow.c b/drivers/net/intel/ice/ice_generic_flow.c
+diff --git a/drivers/net/ice/ice_generic_flow.c b/drivers/net/ice/ice_generic_flow.c
@@ -24,2 +25,2 @@
---- a/drivers/net/intel/ice/ice_generic_flow.c
-+++ b/drivers/net/intel/ice/ice_generic_flow.c
+--- a/drivers/net/ice/ice_generic_flow.c
++++ b/drivers/net/ice/ice_generic_flow.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/cnxk: fix NIX send header L3 type' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (42 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/ice: fix flows handling' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'gro: fix unprocessed IPv4 packets' " Kevin Traynor
` (76 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Rahul Bhansali; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/d830d6989fb640d06f3bc62b263f9657fe3d4b40
Thanks.
Kevin
---
From d830d6989fb640d06f3bc62b263f9657fe3d4b40 Mon Sep 17 00:00:00 2001
From: Rahul Bhansali <rbhansali@marvell.com>
Date: Thu, 30 Jan 2025 17:25:26 +0530
Subject: [PATCH] net/cnxk: fix NIX send header L3 type
[ upstream commit 32c18e7364e30a8e43cc7cc6709a7ce606fa285e ]
For small packets less than 55 bytes, SQ error interrupts are
observed.
When checksum offload flag is enabled and mbuf ol_flags are not
set, then default L3 type will be set to IPv6 in vector
processing. Based on this, HW will still validate for minimum
header size and generate send header error if mismatch.
To address this, will set default L3 type to none. Mbuf ol_flags
RTE_MBUF_F_TX_IPV6 will set with offload feature TSO or L4
checksum only, so handled in corresponding routine.
Fixes: f71b7dbbf04b ("net/cnxk: add vector Tx for CN10K")
Fixes: e829e60c6917 ("net/cnxk: support Tx burst vector for CN20K")
Fixes: 862e28128707 ("net/cnxk: add vector Tx for CN9K")
Signed-off-by: Rahul Bhansali <rbhansali@marvell.com>
---
drivers/net/cnxk/cn10k_tx.h | 7 +++++--
drivers/net/cnxk/cn20k_tx.h | 7 +++++--
drivers/net/cnxk/cn9k_tx.h | 7 +++++--
3 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/drivers/net/cnxk/cn10k_tx.h b/drivers/net/cnxk/cn10k_tx.h
index 7d9b259a5f..77f4e54cd8 100644
--- a/drivers/net/cnxk/cn10k_tx.h
+++ b/drivers/net/cnxk/cn10k_tx.h
@@ -1774,4 +1774,7 @@ cn10k_nix_prepare_tso(struct rte_mbuf *m, union nix_send_hdr_w1_u *w1,
w0->lso_format = NIX_LSO_FORMAT_IDX_TSOV4 + !!(ol_flags & RTE_MBUF_F_TX_IPV6);
w1->ol4type = NIX_SENDL4TYPE_TCP_CKSUM;
+ w1->ol3type = ((!!(ol_flags & RTE_MBUF_F_TX_IPV4)) << 1) +
+ ((!!(ol_flags & RTE_MBUF_F_TX_IPV6)) << 2) +
+ !!(ol_flags & RTE_MBUF_F_TX_IP_CKSUM);
/* Handle tunnel tso */
@@ -2478,5 +2481,5 @@ again:
const uint8x16_t tbl = {
/* [0-15] = il4type:il3type */
- 0x04, /* none (IPv6 assumed) */
+ 0x00, /* none */
0x14, /* RTE_MBUF_F_TX_TCP_CKSUM (IPv6 assumed) */
0x24, /* RTE_MBUF_F_TX_SCTP_CKSUM (IPv6 assumed) */
@@ -2682,5 +2685,5 @@ again:
{
/* [0-15] = il4type:il3type */
- 0x04, /* none (IPv6) */
+ 0x00, /* none */
0x14, /* RTE_MBUF_F_TX_TCP_CKSUM (IPv6) */
0x24, /* RTE_MBUF_F_TX_SCTP_CKSUM (IPv6) */
diff --git a/drivers/net/cnxk/cn20k_tx.h b/drivers/net/cnxk/cn20k_tx.h
index c731406529..8c3ba8326d 100644
--- a/drivers/net/cnxk/cn20k_tx.h
+++ b/drivers/net/cnxk/cn20k_tx.h
@@ -1734,4 +1734,7 @@ cn20k_nix_prepare_tso(struct rte_mbuf *m, union nix_send_hdr_w1_u *w1, union nix
w0->lso_format = NIX_LSO_FORMAT_IDX_TSOV4 + !!(ol_flags & RTE_MBUF_F_TX_IPV6);
w1->ol4type = NIX_SENDL4TYPE_TCP_CKSUM;
+ w1->ol3type = ((!!(ol_flags & RTE_MBUF_F_TX_IPV4)) << 1) +
+ ((!!(ol_flags & RTE_MBUF_F_TX_IPV6)) << 2) +
+ !!(ol_flags & RTE_MBUF_F_TX_IP_CKSUM);
/* Handle tunnel tso */
@@ -2396,5 +2399,5 @@ again:
const uint8x16_t tbl = {
/* [0-15] = il4type:il3type */
- 0x04, /* none (IPv6 assumed) */
+ 0x00, /* none */
0x14, /* RTE_MBUF_F_TX_TCP_CKSUM (IPv6 assumed) */
0x24, /* RTE_MBUF_F_TX_SCTP_CKSUM (IPv6 assumed) */
@@ -2596,5 +2599,5 @@ again:
{
/* [0-15] = il4type:il3type */
- 0x04, /* none (IPv6) */
+ 0x00, /* none */
0x14, /* RTE_MBUF_F_TX_TCP_CKSUM (IPv6) */
0x24, /* RTE_MBUF_F_TX_SCTP_CKSUM (IPv6) */
diff --git a/drivers/net/cnxk/cn9k_tx.h b/drivers/net/cnxk/cn9k_tx.h
index 9370985864..902a17860c 100644
--- a/drivers/net/cnxk/cn9k_tx.h
+++ b/drivers/net/cnxk/cn9k_tx.h
@@ -890,4 +890,7 @@ cn9k_nix_prepare_tso(struct rte_mbuf *m, union nix_send_hdr_w1_u *w1,
w0->lso_format = NIX_LSO_FORMAT_IDX_TSOV4 + !!(ol_flags & RTE_MBUF_F_TX_IPV6);
w1->ol4type = NIX_SENDL4TYPE_TCP_CKSUM;
+ w1->ol3type = ((!!(ol_flags & RTE_MBUF_F_TX_IPV4)) << 1) +
+ ((!!(ol_flags & RTE_MBUF_F_TX_IPV6)) << 2) +
+ !!(ol_flags & RTE_MBUF_F_TX_IP_CKSUM);
/* Handle tunnel tso */
@@ -1403,5 +1406,5 @@ cn9k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts,
const uint8x16_t tbl = {
/* [0-15] = il4type:il3type */
- 0x04, /* none (IPv6 assumed) */
+ 0x00, /* none */
0x14, /* RTE_MBUF_F_TX_TCP_CKSUM (IPv6 assumed) */
0x24, /* RTE_MBUF_F_TX_SCTP_CKSUM (IPv6 assumed) */
@@ -1607,5 +1610,5 @@ cn9k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts,
{
/* [0-15] = il4type:il3type */
- 0x04, /* none (IPv6) */
+ 0x00, /* none */
0x14, /* RTE_MBUF_F_TX_TCP_CKSUM (IPv6) */
0x24, /* RTE_MBUF_F_TX_SCTP_CKSUM (IPv6) */
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:39.383087187 +0000
+++ 0045-net-cnxk-fix-NIX-send-header-L3-type.patch 2025-02-12 17:29:34.338945858 +0000
@@ -1 +1 @@
-From 32c18e7364e30a8e43cc7cc6709a7ce606fa285e Mon Sep 17 00:00:00 2001
+From d830d6989fb640d06f3bc62b263f9657fe3d4b40 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 32c18e7364e30a8e43cc7cc6709a7ce606fa285e ]
+
@@ -20 +21,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'gro: fix unprocessed IPv4 packets' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (43 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/cnxk: fix NIX send header L3 type' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'log: fix systemd journal socket open' " Kevin Traynor
` (75 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Konstantin Ananyev; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/1ea001c6d371c18b6fd36bd9297d19284541a526
Thanks.
Kevin
---
From 1ea001c6d371c18b6fd36bd9297d19284541a526 Mon Sep 17 00:00:00 2001
From: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Date: Wed, 5 Feb 2025 17:33:11 -0800
Subject: [PATCH] gro: fix unprocessed IPv4 packets
[ upstream commit 5c762a58c3fa81e232a5cba8087577be1a593c33 ]
gro_vxlan_tcp4_tbl_timeout_flush() is called without taking into account
that first entries in pkts[] can be already occupied by
un-processed packets.
Fixes: 74080d7dcf31 ("gro: support IPv6 for TCP")
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
---
lib/gro/rte_gro.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/gro/rte_gro.c b/lib/gro/rte_gro.c
index d824eebd93..db86117609 100644
--- a/lib/gro/rte_gro.c
+++ b/lib/gro/rte_gro.c
@@ -328,5 +328,5 @@ rte_gro_reassemble_burst(struct rte_mbuf **pkts,
if (do_vxlan_tcp_gro) {
i += gro_vxlan_tcp4_tbl_timeout_flush(&vxlan_tcp_tbl,
- 0, pkts, nb_pkts);
+ 0, &pkts[i], nb_pkts - i);
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:39.489283142 +0000
+++ 0046-gro-fix-unprocessed-IPv4-packets.patch 2025-02-12 17:29:34.339945864 +0000
@@ -1 +1 @@
-From 5c762a58c3fa81e232a5cba8087577be1a593c33 Mon Sep 17 00:00:00 2001
+From 1ea001c6d371c18b6fd36bd9297d19284541a526 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5c762a58c3fa81e232a5cba8087577be1a593c33 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'log: fix systemd journal socket open' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (44 preceding siblings ...)
2025-02-13 9:58 ` patch 'gro: fix unprocessed IPv4 packets' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'eal/linux: fix memseg length in legacy mem init' " Kevin Traynor
` (74 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/2ac9abd53d661b2f099b84bc2b644ecef1db3766
Thanks.
Kevin
---
From 2ac9abd53d661b2f099b84bc2b644ecef1db3766 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:15:18 -0800
Subject: [PATCH] log: fix systemd journal socket open
[ upstream commit d0dbcae33d86514159b56e8d03c7f59536cbea9d ]
On error path, the journal socket code would call close
with -1 which caused Coverity warning.
Coverity issue: 448872
Fixes: 9da0dc6c0331 ("log: support systemd journal")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
lib/log/log_journal.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/log/log_journal.c b/lib/log/log_journal.c
index e9b3aa5640..43099649ed 100644
--- a/lib/log/log_journal.c
+++ b/lib/log/log_journal.c
@@ -117,5 +117,5 @@ log_journal_open(const char *id)
.sun_path = "/run/systemd/journal/socket",
};
- int jfd = -1;
+ int jfd;
len = snprintf(syslog_id, sizeof(syslog_id),
@@ -129,5 +129,5 @@ log_journal_open(const char *id)
if (jfd < 0) {
perror("socket");
- goto error;
+ return NULL;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:39.591630469 +0000
+++ 0047-log-fix-systemd-journal-socket-open.patch 2025-02-12 17:29:34.339945864 +0000
@@ -1 +1 @@
-From d0dbcae33d86514159b56e8d03c7f59536cbea9d Mon Sep 17 00:00:00 2001
+From 2ac9abd53d661b2f099b84bc2b644ecef1db3766 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d0dbcae33d86514159b56e8d03c7f59536cbea9d ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'eal/linux: fix memseg length in legacy mem init' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (45 preceding siblings ...)
2025-02-13 9:58 ` patch 'log: fix systemd journal socket open' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'service: fix getting service lcore attributes' " Kevin Traynor
` (73 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Yang Ming; +Cc: Dmitry Kozlyuk, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/72cae7066a8d71dba1085f61863df406781a9fec
Thanks.
Kevin
---
From 72cae7066a8d71dba1085f61863df406781a9fec Mon Sep 17 00:00:00 2001
From: Yang Ming <ming.1.yang@nokia-sbell.com>
Date: Thu, 2 Jan 2025 16:58:38 +0800
Subject: [PATCH] eal/linux: fix memseg length in legacy mem init
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit b974cbbbef6e1036e7ed7d19fefb7ef8cda0e4a1 ]
Fix the issue where OS memory is mistakenly freed with rte_free
by setting the length (len) of unused memseg to 0.
When `eal_legacy_hugepage_init()` releases the VA space for
unused memseg lists(MSLs), it does not reset MSLs' length to 0.
As a result, `mlx5_mem_is_rte()` may incorrectly identify OS
memory as rte memory.
This can lead to `mlx_free()` calling `rte_free()` on OS memory,
causing an "EAL: Error: Invalid memory" log and failing to free
the OS memory.
This issue is occasional and occurs when the DPDK program’s
memory map places the heap address range between 0 and len(32G).
In such cases, malloc may return an address less than len,
causing `mlx5_mem_is_rte()` to incorrectly treat it as rte
memory.
Also, consider how the MSL with `base_va == NULL` ends up in
`mlx5_mem_is_rte()`. It comes from `rte_mem_virt2memseg_list()`
which iterates MSLs and checks that an address belongs to
[`base_va`; `base_va+len`) without checking whether
`base_va == NULL` i.e. that the MSL is inactive. So this patch
also corrects `rte_mem_virt2memseg_list()` behavior.
Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists")
Signed-off-by: Yang Ming <ming.1.yang@nokia-sbell.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
---
.mailmap | 1 +
lib/eal/linux/eal_memory.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/.mailmap b/.mailmap
index bd4b6778ec..7d9b19d51f 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1718,4 +1718,5 @@ Yajun Wu <yajunw@nvidia.com>
Yangchao Zhou <zhouyates@gmail.com>
Yanglong Wu <yanglong.wu@intel.com>
+Yang Ming <ming.1.yang@nokia-sbell.com>
Yang Zhang <zy107165@alibaba-inc.com>
Yanjie Xu <yanjie.xu@intel.com>
diff --git a/lib/eal/linux/eal_memory.c b/lib/eal/linux/eal_memory.c
index 45879ca743..9dda60c0e1 100644
--- a/lib/eal/linux/eal_memory.c
+++ b/lib/eal/linux/eal_memory.c
@@ -1473,4 +1473,5 @@ eal_legacy_hugepage_init(void)
munmap(msl->base_va, mem_sz);
msl->base_va = NULL;
+ msl->len = 0;
msl->heap = 0;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:39.685530205 +0000
+++ 0048-eal-linux-fix-memseg-length-in-legacy-mem-init.patch 2025-02-12 17:29:34.345945900 +0000
@@ -1 +1 @@
-From b974cbbbef6e1036e7ed7d19fefb7ef8cda0e4a1 Mon Sep 17 00:00:00 2001
+From 72cae7066a8d71dba1085f61863df406781a9fec Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit b974cbbbef6e1036e7ed7d19fefb7ef8cda0e4a1 ]
+
@@ -34 +35,0 @@
-Cc: stable@dpdk.org
@@ -44 +45 @@
-index 9209a716e0..19bbdbc0c8 100644
+index bd4b6778ec..7d9b19d51f 100644
@@ -47 +48 @@
-@@ -1723,4 +1723,5 @@ Yajun Wu <yajunw@nvidia.com>
+@@ -1718,4 +1718,5 @@ Yajun Wu <yajunw@nvidia.com>
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'service: fix getting service lcore attributes' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (46 preceding siblings ...)
2025-02-13 9:58 ` patch 'eal/linux: fix memseg length in legacy mem init' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'ptr_compress: fix build with Arm SVE' " Kevin Traynor
` (72 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Piotr Krzewinski; +Cc: Harry van Haaren, Mattias Rönnblom, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/9191c6d2c7133d016194bc72f52f8b51aed440ec
Thanks.
Kevin
---
From 9191c6d2c7133d016194bc72f52f8b51aed440ec Mon Sep 17 00:00:00 2001
From: Piotr Krzewinski <piotr.krzewinski@ericsson.com>
Date: Fri, 20 Dec 2024 15:29:38 +0100
Subject: [PATCH] service: fix getting service lcore attributes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 1ecb19eb4f44f984f15068834ef0c530f24ae697 ]
Perf test service_perf_autotest was failing after introduction
of lcore variables.
Fixed getting of idle_ and error_ service call statistics.
Fixes: b24bbaedbba2 ("service: keep per-lcore state in lcore variable")
Signed-off-by: Piotr Krzewinski <piotr.krzewinski@ericsson.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
.mailmap | 1 +
lib/eal/common/rte_service.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/.mailmap b/.mailmap
index 7d9b19d51f..56550db0f8 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1201,4 +1201,5 @@ Piotr Bartosiewicz <piotr.bartosiewicz@atendesoftware.pl>
Piotr Bronowski <piotrx.bronowski@intel.com>
Piotr Gardocki <piotrx.gardocki@intel.com>
+Piotr Krzewinski <piotr.krzewinski@ericsson.com>
Piotr Kubaj <pkubaj@freebsd.org>
Piotr Kwapulinski <piotr.kwapulinski@intel.com>
diff --git a/lib/eal/common/rte_service.c b/lib/eal/common/rte_service.c
index dad3150df9..1821746337 100644
--- a/lib/eal/common/rte_service.c
+++ b/lib/eal/common/rte_service.c
@@ -880,5 +880,5 @@ static uint64_t
lcore_attr_get_service_idle_calls(uint32_t service_id, unsigned int lcore)
{
- struct core_state *cs = &lcore_states[lcore];
+ struct core_state *cs = RTE_LCORE_VAR_LCORE(lcore, lcore_states);
return rte_atomic_load_explicit(&cs->service_stats[service_id].idle_calls,
@@ -889,5 +889,5 @@ static uint64_t
lcore_attr_get_service_error_calls(uint32_t service_id, unsigned int lcore)
{
- struct core_state *cs = &lcore_states[lcore];
+ struct core_state *cs = RTE_LCORE_VAR_LCORE(lcore, lcore_states);
return rte_atomic_load_explicit(&cs->service_stats[service_id].error_calls,
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:39.785050645 +0000
+++ 0049-service-fix-getting-service-lcore-attributes.patch 2025-02-12 17:29:34.351945936 +0000
@@ -1 +1 @@
-From 1ecb19eb4f44f984f15068834ef0c530f24ae697 Mon Sep 17 00:00:00 2001
+From 9191c6d2c7133d016194bc72f52f8b51aed440ec Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 1ecb19eb4f44f984f15068834ef0c530f24ae697 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 19bbdbc0c8..df68fc7d34 100644
+index 7d9b19d51f..56550db0f8 100644
@@ -28 +29 @@
-@@ -1203,4 +1203,5 @@ Piotr Bartosiewicz <piotr.bartosiewicz@atendesoftware.pl>
+@@ -1201,4 +1201,5 @@ Piotr Bartosiewicz <piotr.bartosiewicz@atendesoftware.pl>
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'ptr_compress: fix build with Arm SVE' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (47 preceding siblings ...)
2025-02-13 9:58 ` patch 'service: fix getting service lcore attributes' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'buildtools: fix some Python regex syntax warnings' " Kevin Traynor
` (71 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Nithin Dabilpuram; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/9378b4e94d3ad7d1059d65549caa86adf02c14f2
Thanks.
Kevin
---
From 9378b4e94d3ad7d1059d65549caa86adf02c14f2 Mon Sep 17 00:00:00 2001
From: Nithin Dabilpuram <ndabilpuram@marvell.com>
Date: Tue, 28 Jan 2025 23:01:32 +0530
Subject: [PATCH] ptr_compress: fix build with Arm SVE
[ upstream commit 1c97680265f59f8ed453b72460cb755248104668 ]
Fix compilation issue with const conversion.
Fixes: 077596a4b077 ("ptr_compress: add pointer compression library")
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
---
lib/ptr_compress/rte_ptr_compress.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/ptr_compress/rte_ptr_compress.h b/lib/ptr_compress/rte_ptr_compress.h
index 9742a9594a..231d96c518 100644
--- a/lib/ptr_compress/rte_ptr_compress.h
+++ b/lib/ptr_compress/rte_ptr_compress.h
@@ -135,5 +135,5 @@ rte_ptr_compress_32_shift(void *ptr_base, void * const *src_table,
do {
svbool_t pg = svwhilelt_b64(i, n);
- v_ptr_table = svld1_u64(pg, (uint64_t *)src_table + i);
+ v_ptr_table = svld1_u64(pg, (const uint64_t *)src_table + i);
v_ptr_table = svsub_x(pg, v_ptr_table, (uint64_t)ptr_base);
v_ptr_table = svlsr_x(pg, v_ptr_table, bit_shift);
@@ -261,5 +261,5 @@ rte_ptr_compress_16_shift(void *ptr_base, void * const *src_table,
do {
svbool_t pg = svwhilelt_b64(i, n);
- v_ptr_table = svld1_u64(pg, (uint64_t *)src_table + i);
+ v_ptr_table = svld1_u64(pg, (const uint64_t *)src_table + i);
v_ptr_table = svsub_x(pg, v_ptr_table, (uint64_t)ptr_base);
v_ptr_table = svlsr_x(pg, v_ptr_table, bit_shift);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:39.889442333 +0000
+++ 0050-ptr_compress-fix-build-with-Arm-SVE.patch 2025-02-12 17:29:34.352945942 +0000
@@ -1 +1 @@
-From 1c97680265f59f8ed453b72460cb755248104668 Mon Sep 17 00:00:00 2001
+From 9378b4e94d3ad7d1059d65549caa86adf02c14f2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1c97680265f59f8ed453b72460cb755248104668 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'buildtools: fix some Python regex syntax warnings' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (48 preceding siblings ...)
2025-02-13 9:58 ` patch 'ptr_compress: fix build with Arm SVE' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'dts: fix MTU set command' " Kevin Traynor
` (70 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Ariel Otilibili; +Cc: Robin Jarry, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/73bc6c422e168df7fb3dcfc6126b4b5c3c11cdf2
Thanks.
Kevin
---
From 73bc6c422e168df7fb3dcfc6126b4b5c3c11cdf2 Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <otilibil@eurecom.fr>
Date: Fri, 13 Dec 2024 15:40:58 +0100
Subject: [PATCH] buildtools: fix some Python regex syntax warnings
[ upstream commit 5506d5a71031c003d8c0b740dbb72eb7a4968edb ]
* invalid escape sequences now generate SyntaxWarning
* therefore changed syntax to raw string noration.
Fixes: 0aeaf75df879 ("test: define unit tests suites based on test types")
Fixes: 25065ef1f6c0 ("test: emit warning for orphaned tests")
Link: https://docs.python.org/3/library/re.html#module-re
Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
Acked-by: Robin Jarry <rjarry@redhat.com>
---
buildtools/get-test-suites.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/buildtools/get-test-suites.py b/buildtools/get-test-suites.py
index c61f6a273f..fd22d25f36 100644
--- a/buildtools/get-test-suites.py
+++ b/buildtools/get-test-suites.py
@@ -7,8 +7,8 @@ import re
input_list = sys.argv[1:]
-test_def_regex = re.compile("REGISTER_([A-Z]+)_TEST\s*\(\s*([a-z0-9_]+)")
+test_def_regex = re.compile(r"REGISTER_([A-Z]+)_TEST\s*\(\s*([a-z0-9_]+)")
test_suites = {}
# track tests not in any test suite.
-non_suite_regex = re.compile("REGISTER_TEST_COMMAND\s*\(\s*([a-z0-9_]+)")
+non_suite_regex = re.compile(r"REGISTER_TEST_COMMAND\s*\(\s*([a-z0-9_]+)")
non_suite_tests = []
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:39.990684413 +0000
+++ 0051-buildtools-fix-some-Python-regex-syntax-warnings.patch 2025-02-12 17:29:34.352945942 +0000
@@ -1 +1 @@
-From 5506d5a71031c003d8c0b740dbb72eb7a4968edb Mon Sep 17 00:00:00 2001
+From 73bc6c422e168df7fb3dcfc6126b4b5c3c11cdf2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5506d5a71031c003d8c0b740dbb72eb7a4968edb ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'dts: fix MTU set command' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (49 preceding siblings ...)
2025-02-13 9:58 ` patch 'buildtools: fix some Python regex syntax warnings' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'dts: fix pass rate edge case in results' " Kevin Traynor
` (69 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Luca Vizzarro; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/79dd2b794e9f97e1e8a1d6e5825056450f35d00b
Thanks.
Kevin
---
From 79dd2b794e9f97e1e8a1d6e5825056450f35d00b Mon Sep 17 00:00:00 2001
From: Luca Vizzarro <luca.vizzarro@arm.com>
Date: Tue, 7 Jan 2025 13:55:30 +0000
Subject: [PATCH] dts: fix MTU set command
[ upstream commit 0882424ffc9989df9804d62cef7f58f97bde3f67 ]
There are some PMDs that in order to set a scatter-offload-compatible
MTU size, they need to have started at least once since the startup of
testpmd. This fixes the behaviour of the command to start and stop the
ports before changing the MTU to ensure this happened
Fixes: 9910db35962b ("dts: add MTU config methods to testpmd shell")
Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>
---
dts/framework/remote_session/testpmd_shell.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dts/framework/remote_session/testpmd_shell.py b/dts/framework/remote_session/testpmd_shell.py
index d187eaea94..c01ee74b21 100644
--- a/dts/framework/remote_session/testpmd_shell.py
+++ b/dts/framework/remote_session/testpmd_shell.py
@@ -1837,4 +1837,5 @@ class TestPmdShell(DPDKShell):
)
+ @requires_started_ports
@requires_stopped_ports
def set_port_mtu(self, port_id: int, mtu: int, verify: bool = True) -> None:
@@ -1843,5 +1844,7 @@ class TestPmdShell(DPDKShell):
Some PMDs require that the port be stopped before changing the MTU, and it does no harm to
stop the port before configuring in cases where it isn't required, so ports are stopped
- prior to changing their MTU.
+ prior to changing their MTU. On the other hand, some PMDs require that the port had already
+ been started once since testpmd startup. Therefore, ports are also started before stopping
+ them to ensure this has happened.
Args:
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:40.089205424 +0000
+++ 0052-dts-fix-MTU-set-command.patch 2025-02-12 17:29:34.356945965 +0000
@@ -1 +1 @@
-From 0882424ffc9989df9804d62cef7f58f97bde3f67 Mon Sep 17 00:00:00 2001
+From 79dd2b794e9f97e1e8a1d6e5825056450f35d00b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0882424ffc9989df9804d62cef7f58f97bde3f67 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'dts: fix pass rate edge case in results' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (50 preceding siblings ...)
2025-02-13 9:58 ` patch 'dts: fix MTU set command' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'use Python raw string notation' " Kevin Traynor
` (68 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Dean Marx; +Cc: Luca Vizzarro, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/4ffa336f68f8e11d712f970338be9ef764038136
Thanks.
Kevin
---
From 4ffa336f68f8e11d712f970338be9ef764038136 Mon Sep 17 00:00:00 2001
From: Dean Marx <dmarx@iol.unh.edu>
Date: Wed, 15 Jan 2025 10:43:45 -0500
Subject: [PATCH] dts: fix pass rate edge case in results
[ upstream commit 5dc5b2a5f67e655554b60a11e2f9f63ab13ad8d3 ]
Add condition to results.json pass rate generation
method which returns 0 as the pass rate when the suite
is skipped, rather than causing a divide by 0 error.
Fixes: 9f8a257235ac ("dts: improve test run result statistics")
Signed-off-by: Dean Marx <dmarx@iol.unh.edu>
Reviewed-by: Luca Vizzarro <luca.vizzarro@arm.com>
---
dts/framework/test_result.py | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/dts/framework/test_result.py b/dts/framework/test_result.py
index ba7c1c9804..45fc2e8241 100644
--- a/dts/framework/test_result.py
+++ b/dts/framework/test_result.py
@@ -325,11 +325,8 @@ class BaseResult:
A dictionary with the PASS/FAIL ratio of all test cases.
"""
- return {
- "PASS_RATE": (
- float(test_run_summary[Result.PASS.name])
- * 100
- / sum(test_run_summary[result.name] for result in Result if result != Result.SKIP)
- )
- }
+ cases_not_skipped = sum(
+ test_run_summary[result.name] for result in Result if result != Result.SKIP
+ )
+ return {"PASS_RATE": test_run_summary[Result.PASS.name] * 100.0 / max(cases_not_skipped, 1)}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:40.189651005 +0000
+++ 0053-dts-fix-pass-rate-edge-case-in-results.patch 2025-02-12 17:29:34.357945971 +0000
@@ -1 +1 @@
-From 5dc5b2a5f67e655554b60a11e2f9f63ab13ad8d3 Mon Sep 17 00:00:00 2001
+From 4ffa336f68f8e11d712f970338be9ef764038136 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5dc5b2a5f67e655554b60a11e2f9f63ab13ad8d3 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'use Python raw string notation' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (51 preceding siblings ...)
2025-02-13 9:58 ` patch 'dts: fix pass rate edge case in results' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/af_packet: fix socket close on device stop' " Kevin Traynor
` (67 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Ariel Otilibili; +Cc: Robin Jarry, Luca Vizzarro, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/1e055d1d2cab5a3536482a0b15eed045225ca9d1
Thanks.
Kevin
---
From 1e055d1d2cab5a3536482a0b15eed045225ca9d1 Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <otilibil@eurecom.fr>
Date: Sat, 14 Dec 2024 11:36:35 +0100
Subject: [PATCH] use Python raw string notation
[ upstream commit d3e90e5e37872f1040f37a08b056102c1a302bb3 ]
* follow up of a discussion with Robin Jarry
* since 3.12 invalid escape sequences generate SyntaxWarning
* in the future, these invalid sequences will generate SyntaxError
* therefore changed syntax to raw string notation.
Link: https://inbox.dpdk.org/dev/D6AMQXRSG8E7.33BAORRHRHV9A@redhat.com/
Link: https://docs.python.org/3/whatsnew/3.12.html#other-language-changes
Fixes: 9d4efc5cc6f9 ("buildtools: fix NUMA nodes count")
Fixes: f88b0b892204 ("devtools: forbid indent with tabs in Meson")
Suggested-by: Robin Jarry <rjarry@redhat.com>
Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
Reviewed-by: Luca Vizzarro <luca.vizzarro@arm.com>
---
buildtools/get-numa-count.py | 2 +-
devtools/check-meson.py | 2 +-
dts/framework/testbed_model/traffic_generator/scapy.py | 2 +-
dts/tests/TestSuite_smoke_tests.py | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/buildtools/get-numa-count.py b/buildtools/get-numa-count.py
index 2f243886cd..f8bea5b58e 100644
--- a/buildtools/get-numa-count.py
+++ b/buildtools/get-numa-count.py
@@ -12,5 +12,5 @@ if os.name == 'posix':
if os.path.isdir('/sys/devices/system/node'):
numa_nodes = glob.glob('/sys/devices/system/node/node*')
- numa_nodes.sort(key=lambda l: int(re.findall('\d+', l)[0]))
+ numa_nodes.sort(key=lambda l: int(re.findall(r'\d+', l)[0]))
print(int(os.path.basename(numa_nodes[-1])[4:]) + 1)
else:
diff --git a/devtools/check-meson.py b/devtools/check-meson.py
index 4b2338828d..9a33d8b036 100755
--- a/devtools/check-meson.py
+++ b/devtools/check-meson.py
@@ -52,5 +52,5 @@ def check_indentation(filename, contents):
if not code.strip():
continue
- if re.match('^ *\t', code):
+ if re.match(r'^ *\t', code):
print(f'Error parsing {filename}:{lineno}, got some tabulation')
if code.endswith('files('):
diff --git a/dts/framework/testbed_model/traffic_generator/scapy.py b/dts/framework/testbed_model/traffic_generator/scapy.py
index 1251ca65a0..f9f3d24f9c 100644
--- a/dts/framework/testbed_model/traffic_generator/scapy.py
+++ b/dts/framework/testbed_model/traffic_generator/scapy.py
@@ -235,5 +235,5 @@ class ScapyTrafficGenerator(PythonShell, CapturingTrafficGenerator):
# In the string of bytes "b'XXXX'", we only want the contents ("XXXX")
list_of_packets_base64 = re.findall(
- f"^b'({REGEX_FOR_BASE64_ENCODING})'", packet_strs, re.MULTILINE
+ rf"^b'({REGEX_FOR_BASE64_ENCODING})'", packet_strs, re.MULTILINE
)
return [Ether(base64_bytes(pakt)) for pakt in list_of_packets_base64]
diff --git a/dts/tests/TestSuite_smoke_tests.py b/dts/tests/TestSuite_smoke_tests.py
index bc3a2a6bf9..ab5ad44850 100644
--- a/dts/tests/TestSuite_smoke_tests.py
+++ b/dts/tests/TestSuite_smoke_tests.py
@@ -137,5 +137,5 @@ class TestSmokeTests(TestSuite):
# name of the driver in a group
devbind_info_for_nic = re.search(
- f"{nic.pci}[^\\n]*drv=([\\d\\w-]*) [^\\n]*",
+ rf"{nic.pci}[^\\n]*drv=([\\d\\w-]*) [^\\n]*",
all_nics_in_dpdk_devbind,
)
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:40.271243646 +0000
+++ 0054-use-Python-raw-string-notation.patch 2025-02-12 17:29:34.359945983 +0000
@@ -1 +1 @@
-From d3e90e5e37872f1040f37a08b056102c1a302bb3 Mon Sep 17 00:00:00 2001
+From 1e055d1d2cab5a3536482a0b15eed045225ca9d1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d3e90e5e37872f1040f37a08b056102c1a302bb3 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -50 +51 @@
-index d24efc44e6..a16cdf6758 100644
+index 1251ca65a0..f9f3d24f9c 100644
@@ -53 +54 @@
-@@ -238,5 +238,5 @@ class ScapyTrafficGenerator(PythonShell, CapturingTrafficGenerator):
+@@ -235,5 +235,5 @@ class ScapyTrafficGenerator(PythonShell, CapturingTrafficGenerator):
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/af_packet: fix socket close on device stop' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (52 preceding siblings ...)
2025-02-13 9:58 ` patch 'use Python raw string notation' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/mana: do not ring short doorbell for every mbuf alloc' " Kevin Traynor
` (66 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Tudor Cornea; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/685ac1bd0c5605629c3a7012307eb8d4151b6564
Thanks.
Kevin
---
From 685ac1bd0c5605629c3a7012307eb8d4151b6564 Mon Sep 17 00:00:00 2001
From: Tudor Cornea <tudor.cornea@gmail.com>
Date: Tue, 4 Feb 2025 18:45:08 +0200
Subject: [PATCH] net/af_packet: fix socket close on device stop
[ upstream commit 872e846f6bb31afbdd508903380cf05a3d313a3a ]
Currently, if we call rte_eth_dev_stop(), the sockets are closed.
If we attempt to start the port again, socket related operations
will not work correctly.
This can be alleviated by closing the socket at the same place in
which we currently free the memory, in eth_dev_close().
If an application calls rte_eth_dev_stop() on a port managed
by the af_packet PMD, the port becomes unusable. This is in contrast
with ports managed by other drivers (e.g virtio).
I also managed to reproduce the issue using testpmd.
sudo ip link add test-veth0 type veth peer name test-veth1
sudo ip link set test-veth0 up
sudo ip link set test-veth1 up
AF_PACKET_ARGS=\
"blocksz=4096,framesz=2048,framecnt=512,qpairs=1,qdisc_bypass=0"
sudo ./dpdk-testpmd \
-l 0-3 \
-m 1024 \
--no-huge \
--no-shconf \
--no-pci \
--vdev=net_af_packet0,iface=test-veth0,${AF_PACKET_ARGS} \
--vdev=net_af_packet1,iface=test-veth1,${AF_PACKET_ARGS} \
-- \
-i
testpmd> start tx_first
Forwarding will start, and we will see traffic on the interfaces.
testpmd> stop
testpmd> port stop 0
Stopping ports...
Checking link statuses...
Done
testpmd> port stop 1
Stopping ports...
Checking link statuses...
Done
testpmd> port start 0
AFPACKET: eth_dev_macaddr_set(): receive socket not found
Port 0: CA:65:81:63:81:B2
Checking link statuses...
Done
testpmd> port start 1
AFPACKET: eth_dev_macaddr_set(): receive socket not found
Port 1: CA:12:D0:BE:93:3F
Checking link statuses...
Done
testpmd> start tx_first
When we start forwarding again, we can see that there is no traffic
on the interfaces. This does not happen when testing with other PMD
drivers (e.g virtio).
With the patch, the port should re-initialize correctly.
testpmd> port start 0
Port 0: CA:65:81:63:81:B2
Checking link statuses...
Done
Fixes: 364e08f2bbc0 ("af_packet: add PMD for AF_PACKET-based virtual devices")
Signed-off-by: Tudor Cornea <tudor.cornea@gmail.com>
---
drivers/net/af_packet/rte_eth_af_packet.c | 30 +++++++++++------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
index ceb8d9356a..efae15a493 100644
--- a/drivers/net/af_packet/rte_eth_af_packet.c
+++ b/drivers/net/af_packet/rte_eth_af_packet.c
@@ -358,25 +358,10 @@ eth_dev_stop(struct rte_eth_dev *dev)
{
unsigned i;
- int sockfd;
struct pmd_internals *internals = dev->data->dev_private;
for (i = 0; i < internals->nb_queues; i++) {
- sockfd = internals->rx_queue[i].sockfd;
- if (sockfd != -1)
- close(sockfd);
-
- /* Prevent use after free in case tx fd == rx fd */
- if (sockfd != internals->tx_queue[i].sockfd) {
- sockfd = internals->tx_queue[i].sockfd;
- if (sockfd != -1)
- close(sockfd);
- }
-
- internals->rx_queue[i].sockfd = -1;
- internals->tx_queue[i].sockfd = -1;
dev->data->rx_queue_state[i] = RTE_ETH_QUEUE_STATE_STOPPED;
dev->data->tx_queue_state[i] = RTE_ETH_QUEUE_STATE_STOPPED;
}
-
dev->data->dev_link.link_status = RTE_ETH_LINK_DOWN;
return 0;
@@ -475,4 +460,5 @@ eth_dev_close(struct rte_eth_dev *dev)
struct tpacket_req *req;
unsigned int q;
+ int sockfd;
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
@@ -485,4 +471,18 @@ eth_dev_close(struct rte_eth_dev *dev)
req = &internals->req;
for (q = 0; q < internals->nb_queues; q++) {
+ sockfd = internals->rx_queue[q].sockfd;
+ if (sockfd != -1)
+ close(sockfd);
+
+ /* Prevent use after free in case tx fd == rx fd */
+ if (sockfd != internals->tx_queue[q].sockfd) {
+ sockfd = internals->tx_queue[q].sockfd;
+ if (sockfd != -1)
+ close(sockfd);
+ }
+
+ internals->rx_queue[q].sockfd = -1;
+ internals->tx_queue[q].sockfd = -1;
+
munmap(internals->rx_queue[q].map,
2 * req->tp_block_size * req->tp_block_nr);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:40.370960153 +0000
+++ 0055-net-af_packet-fix-socket-close-on-device-stop.patch 2025-02-12 17:29:34.361945995 +0000
@@ -1 +1 @@
-From 872e846f6bb31afbdd508903380cf05a3d313a3a Mon Sep 17 00:00:00 2001
+From 685ac1bd0c5605629c3a7012307eb8d4151b6564 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 872e846f6bb31afbdd508903380cf05a3d313a3a ]
+
@@ -77 +78,0 @@
-Cc: stable@dpdk.org
@@ -85 +86 @@
-index 7fcd27ee0c..ab34285ed9 100644
+index ceb8d9356a..efae15a493 100644
@@ -88 +89 @@
-@@ -364,25 +364,10 @@ eth_dev_stop(struct rte_eth_dev *dev)
+@@ -358,25 +358,10 @@ eth_dev_stop(struct rte_eth_dev *dev)
@@ -114 +115 @@
-@@ -511,4 +496,5 @@ eth_dev_close(struct rte_eth_dev *dev)
+@@ -475,4 +460,5 @@ eth_dev_close(struct rte_eth_dev *dev)
@@ -120 +121 @@
-@@ -521,4 +507,18 @@ eth_dev_close(struct rte_eth_dev *dev)
+@@ -485,4 +471,18 @@ eth_dev_close(struct rte_eth_dev *dev)
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/mana: do not ring short doorbell for every mbuf alloc' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (53 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/af_packet: fix socket close on device stop' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'ethdev: fix functions available in new device event' " Kevin Traynor
` (65 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Wei Hu; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/a40425158c1f36cdd57a3161ae6db9ef4ad63a10
Thanks.
Kevin
---
From a40425158c1f36cdd57a3161ae6db9ef4ad63a10 Mon Sep 17 00:00:00 2001
From: Wei Hu <weh@microsoft.com>
Date: Thu, 6 Feb 2025 02:07:43 -0800
Subject: [PATCH] net/mana: do not ring short doorbell for every mbuf alloc
[ upstream commit 4e6a273d60c766a3697935319cf5bb00bd330704 ]
In the 32bit rx path, it rings short doorbell after receiving
one packet and allocating the new mbuf. This significantly
impacts the rx performance. Fix this problem by ringing the
short doorbell in batch.
Fixes: eeb37809601b ("net/mana: use bulk mbuf allocation for Rx WQEs")
Signed-off-by: Wei Hu <weh@microsoft.com>
---
drivers/net/mana/rx.c | 30 ++++--------------------------
1 file changed, 4 insertions(+), 26 deletions(-)
diff --git a/drivers/net/mana/rx.c b/drivers/net/mana/rx.c
index 0c26702b73..f196d43aee 100644
--- a/drivers/net/mana/rx.c
+++ b/drivers/net/mana/rx.c
@@ -122,4 +122,8 @@ mana_alloc_and_post_rx_wqes(struct mana_rxq *rxq, uint32_t count)
struct rte_mbuf *mbufs[MANA_MBUF_BULK];
+#ifdef RTE_ARCH_32
+ rxq->wqe_cnt_to_short_db = 0;
+#endif
+
more_mbufs:
batch_count = RTE_MIN(count, MANA_MBUF_BULK);
@@ -133,7 +137,4 @@ more_mbufs:
}
-#ifdef RTE_ARCH_32
- rxq->wqe_cnt_to_short_db = 0;
-#endif
for (i = 0; i < batch_count; i++) {
ret = mana_post_rx_wqe(rxq, mbufs[i]);
@@ -449,8 +450,4 @@ mana_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
int polled = 0;
-#ifdef RTE_ARCH_32
- rxq->wqe_cnt_to_short_db = 0;
-#endif
-
repoll:
/* Polling on new completions if we have no backlog */
@@ -571,23 +568,4 @@ drop:
if (pkt_received == pkts_n)
break;
-
-#ifdef RTE_ARCH_32
- /* Always post WQE as soon as it's consumed for short DB */
- ret = mana_alloc_and_post_rx_wqes(rxq, wqe_consumed);
- if (ret) {
- DRV_LOG(ERR, "failed to post %d WQEs, ret %d",
- wqe_consumed, ret);
- return pkt_received;
- }
- wqe_consumed = 0;
-
- /* Ring short doorbell if approaching the wqe increment
- * limit.
- */
- if (rxq->wqe_cnt_to_short_db > RX_WQE_SHORT_DB_THRESHOLD) {
- mana_rq_ring_doorbell(rxq);
- rxq->wqe_cnt_to_short_db = 0;
- }
-#endif
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:40.485225668 +0000
+++ 0056-net-mana-do-not-ring-short-doorbell-for-every-mbuf-a.patch 2025-02-12 17:29:34.363946007 +0000
@@ -1 +1 @@
-From 4e6a273d60c766a3697935319cf5bb00bd330704 Mon Sep 17 00:00:00 2001
+From a40425158c1f36cdd57a3161ae6db9ef4ad63a10 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4e6a273d60c766a3697935319cf5bb00bd330704 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'ethdev: fix functions available in new device event' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (54 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/mana: do not ring short doorbell for every mbuf alloc' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'vhost: add null callback checks' " Kevin Traynor
` (64 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Huisong Li; +Cc: Thomas Monjalon, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/69fe60c6d76f3125ab1f477341260a2b59f20649
Thanks.
Kevin
---
From 69fe60c6d76f3125ab1f477341260a2b59f20649 Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Fri, 17 Jan 2025 17:12:10 +0800
Subject: [PATCH] ethdev: fix functions available in new device event
[ upstream commit 0b8f35358ceb0178878f72b66a36dc0ab7924377 ]
During probing, before the port becomes generally available, the
rte_eth_dev_socket_id() and rte_eth_dev_owner_*() are available to
the application.
Fixes: 7dcd73e37965 ("drivers/bus: set device NUMA node to unknown by default")
Fixes: 53ef1b34776b ("ethdev: add sanity checks in control APIs")
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
---
lib/ethdev/rte_ethdev.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
index 6413c54e3b..9cfb397cee 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -601,7 +601,8 @@ rte_eth_dev_owner_get(const uint16_t port_id, struct rte_eth_dev_owner *owner)
int ret;
- RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
- ethdev = &rte_eth_devices[port_id];
+ if (port_id >= RTE_MAX_ETHPORTS)
+ return -ENODEV;
+ ethdev = &rte_eth_devices[port_id];
if (!eth_dev_is_allocated(ethdev)) {
RTE_ETHDEV_LOG_LINE(ERR, "Port ID %"PRIu16" is not allocated",
@@ -636,6 +637,13 @@ rte_eth_dev_socket_id(uint16_t port_id)
{
int socket_id = SOCKET_ID_ANY;
+ struct rte_eth_dev *ethdev;
- if (!rte_eth_dev_is_valid_port(port_id)) {
+ if (port_id >= RTE_MAX_ETHPORTS) {
+ rte_errno = EINVAL;
+ return socket_id;
+ }
+
+ ethdev = &rte_eth_devices[port_id];
+ if (!eth_dev_is_allocated(ethdev)) {
rte_errno = EINVAL;
} else {
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:40.588338914 +0000
+++ 0057-ethdev-fix-functions-available-in-new-device-event.patch 2025-02-12 17:29:34.372946061 +0000
@@ -1 +1 @@
-From 0b8f35358ceb0178878f72b66a36dc0ab7924377 Mon Sep 17 00:00:00 2001
+From 69fe60c6d76f3125ab1f477341260a2b59f20649 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0b8f35358ceb0178878f72b66a36dc0ab7924377 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -18,2 +19 @@
- lib/ethdev/rte_ethdev.h | 3 ++-
- 2 files changed, 13 insertions(+), 4 deletions(-)
+ 1 file changed, 11 insertions(+), 3 deletions(-)
@@ -22 +22 @@
-index b7cb26f0d3..c4079bb924 100644
+index 6413c54e3b..9cfb397cee 100644
@@ -25 +25 @@
-@@ -603,7 +603,8 @@ rte_eth_dev_owner_get(const uint16_t port_id, struct rte_eth_dev_owner *owner)
+@@ -601,7 +601,8 @@ rte_eth_dev_owner_get(const uint16_t port_id, struct rte_eth_dev_owner *owner)
@@ -36 +36 @@
-@@ -638,6 +639,13 @@ rte_eth_dev_socket_id(uint16_t port_id)
+@@ -636,6 +637,13 @@ rte_eth_dev_socket_id(uint16_t port_id)
@@ -51,12 +50,0 @@
-diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
-index 978104d232..40d97b17d4 100644
---- a/lib/ethdev/rte_ethdev.h
-+++ b/lib/ethdev/rte_ethdev.h
-@@ -4163,5 +4163,6 @@ enum rte_eth_event_type {
- * The port is being probed, i.e. allocated and not yet available.
- * It is too early to check validity, query infos, and configure
-- * the port.
-+ * the port. But some functions, like rte_eth_dev_socket_id() and
-+ * rte_eth_dev_owner_*() are available to the application.
- */
- RTE_ETH_EVENT_NEW,
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'vhost: add null callback checks' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (55 preceding siblings ...)
2025-02-13 9:58 ` patch 'ethdev: fix functions available in new device event' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'vhost: fix FD entries cleanup' " Kevin Traynor
` (63 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Kevin Traynor; +Cc: Maxime Coquelin, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/1298fbb1c0621b305e34868e9e11ba65b644a8c0
Thanks.
Kevin
---
From 1298fbb1c0621b305e34868e9e11ba65b644a8c0 Mon Sep 17 00:00:00 2001
From: Kevin Traynor <ktraynor@redhat.com>
Date: Fri, 24 Jan 2025 14:14:07 +0000
Subject: [PATCH] vhost: add null callback checks
[ upstream commit 66be1a05a480a0484b02c1a0194126763f4dbb99 ]
rte_vhost_driver_callback_register() does not specify
any mandatory callbacks in struct rte_vhost_device_ops.
Add some missing NULL checks before calling rte_vhost_device_ops
callbacks.
Fixes: 4796ad63ba1f ("examples/vhost: import userspace vhost application")
Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
lib/vhost/vduse.c | 3 ++-
lib/vhost/vhost.c | 5 +++--
lib/vhost/vhost_user.c | 3 ++-
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/lib/vhost/vduse.c b/lib/vhost/vduse.c
index 8ba58555f9..be548f051e 100644
--- a/lib/vhost/vduse.c
+++ b/lib/vhost/vduse.c
@@ -319,5 +319,6 @@ vduse_device_start(struct virtio_net *dev, bool reconnect)
dev->flags |= VIRTIO_DEV_READY;
- if (dev->notify_ops->new_device(dev->vid) == 0)
+ if (!dev->notify_ops->new_device ||
+ dev->notify_ops->new_device(dev->vid) == 0)
dev->flags |= VIRTIO_DEV_RUNNING;
diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c
index 5a50a06f8d..c41c29ca57 100644
--- a/lib/vhost/vhost.c
+++ b/lib/vhost/vhost.c
@@ -752,8 +752,9 @@ vhost_destroy_device_notify(struct virtio_net *dev)
if (dev->flags & VIRTIO_DEV_RUNNING) {
vdpa_dev = dev->vdpa_dev;
- if (vdpa_dev)
+ if (vdpa_dev && vdpa_dev->ops->dev_close)
vdpa_dev->ops->dev_close(dev->vid);
dev->flags &= ~VIRTIO_DEV_RUNNING;
- dev->notify_ops->destroy_device(dev->vid);
+ if (dev->notify_ops->destroy_device)
+ dev->notify_ops->destroy_device(dev->vid);
}
}
diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c
index 52d8078d7c..26dc0bde97 100644
--- a/lib/vhost/vhost_user.c
+++ b/lib/vhost/vhost_user.c
@@ -3302,5 +3302,6 @@ unlock:
if (!(dev->flags & VIRTIO_DEV_RUNNING)) {
- if (dev->notify_ops->new_device(dev->vid) == 0)
+ if (!dev->notify_ops->new_device ||
+ dev->notify_ops->new_device(dev->vid) == 0)
dev->flags |= VIRTIO_DEV_RUNNING;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:40.717225740 +0000
+++ 0058-vhost-add-null-callback-checks.patch 2025-02-12 17:29:34.379946103 +0000
@@ -1 +1 @@
-From 66be1a05a480a0484b02c1a0194126763f4dbb99 Mon Sep 17 00:00:00 2001
+From 1298fbb1c0621b305e34868e9e11ba65b644a8c0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 66be1a05a480a0484b02c1a0194126763f4dbb99 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -36 +37 @@
-index 2f34d3500e..f01ae6130e 100644
+index 5a50a06f8d..c41c29ca57 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'vhost: fix FD entries cleanup' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (56 preceding siblings ...)
2025-02-13 9:58 ` patch 'vhost: add null callback checks' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'build: force GCC 15 to initialize padding bits' " Kevin Traynor
` (62 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Maxime Coquelin; +Cc: David Marchand, Chenbo Xia, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/17320be508658dba6e61ab78b3154c85749464fe
Thanks.
Kevin
---
From 17320be508658dba6e61ab78b3154c85749464fe Mon Sep 17 00:00:00 2001
From: Maxime Coquelin <maxime.coquelin@redhat.com>
Date: Thu, 6 Feb 2025 09:41:54 +0100
Subject: [PATCH] vhost: fix FD entries cleanup
[ upstream commit 50966930caf2d1a82655f2c3415c093421d70072 ]
With the recent rework of the FD manager to use epoll,
an error message is emitted with Vhost-user at FD entry
removal:
ERR|VHOST_FDMAN: could not remove 102 fd from 101 epfd: No such file or directory
It occurs because the read callback closes the file
descriptor before it is removed from the FD set.
This patch defers the close() after the FD entry is removed
from the set.
Fixes: 0e38b42bf61c ("vhost: manage FD with epoll")
Signed-off-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Chenbo Xia <chenbox@nvidia.com>
---
lib/vhost/fd_man.c | 12 +++++++-----
lib/vhost/fd_man.h | 2 +-
lib/vhost/socket.c | 11 +++++------
lib/vhost/vduse.c | 9 ++++-----
4 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/lib/vhost/fd_man.c b/lib/vhost/fd_man.c
index 9bc7e50b93..f9147edee7 100644
--- a/lib/vhost/fd_man.c
+++ b/lib/vhost/fd_man.c
@@ -334,5 +334,5 @@ fdset_event_dispatch(void *arg)
void *dat;
int fd, numfds;
- int remove1, remove2;
+ int close1, close2;
struct fdset *pfdset = arg;
@@ -358,5 +358,5 @@ fdset_event_dispatch(void *arg)
}
- remove1 = remove2 = 0;
+ close1 = close2 = 0;
rcb = pfdentry->rcb;
@@ -368,7 +368,7 @@ fdset_event_dispatch(void *arg)
if (rcb && events[i].events & (EPOLLIN | EPOLLERR | EPOLLHUP))
- rcb(fd, dat, &remove1);
+ rcb(fd, dat, &close1);
if (wcb && events[i].events & (EPOLLOUT | EPOLLERR | EPOLLHUP))
- wcb(fd, dat, &remove2);
+ wcb(fd, dat, &close2);
pfdentry->busy = 0;
/*
@@ -382,6 +382,8 @@ fdset_event_dispatch(void *arg)
* fdset_del_locked().
*/
- if (remove1 || remove2)
+ if (close1 || close2) {
fdset_del(pfdset, fd);
+ close(fd);
+ }
}
diff --git a/lib/vhost/fd_man.h b/lib/vhost/fd_man.h
index 6398343a6a..eadcc6fb42 100644
--- a/lib/vhost/fd_man.h
+++ b/lib/vhost/fd_man.h
@@ -13,5 +13,5 @@ struct fdset;
#define MAX_FDS 1024
-typedef void (*fd_cb)(int fd, void *dat, int *remove);
+typedef void (*fd_cb)(int fd, void *dat, int *close);
struct fdset *fdset_init(const char *name);
diff --git a/lib/vhost/socket.c b/lib/vhost/socket.c
index 05a7e5902f..799c6b0590 100644
--- a/lib/vhost/socket.c
+++ b/lib/vhost/socket.c
@@ -85,6 +85,6 @@ struct vhost_user {
#define MAX_VIRTIO_BACKLOG 128
-static void vhost_user_server_new_connection(int fd, void *data, int *remove);
-static void vhost_user_read_cb(int fd, void *dat, int *remove);
+static void vhost_user_server_new_connection(int fd, void *data, int *close);
+static void vhost_user_read_cb(int fd, void *dat, int *close);
static int create_unix_socket(struct vhost_user_socket *vsocket);
static int vhost_user_start_client(struct vhost_user_socket *vsocket);
@@ -291,5 +291,5 @@ err:
/* call back when there is new vhost-user connection from client */
static void
-vhost_user_server_new_connection(int fd, void *dat, int *remove __rte_unused)
+vhost_user_server_new_connection(int fd, void *dat, int *close __rte_unused)
{
struct vhost_user_socket *vsocket = dat;
@@ -304,5 +304,5 @@ vhost_user_server_new_connection(int fd, void *dat, int *remove __rte_unused)
static void
-vhost_user_read_cb(int connfd, void *dat, int *remove)
+vhost_user_read_cb(int connfd, void *dat, int *close)
{
struct vhost_user_connection *conn = dat;
@@ -314,6 +314,5 @@ vhost_user_read_cb(int connfd, void *dat, int *remove)
struct virtio_net *dev = get_device(conn->vid);
- close(connfd);
- *remove = 1;
+ *close = 1;
if (dev)
diff --git a/lib/vhost/vduse.c b/lib/vhost/vduse.c
index be548f051e..801674be42 100644
--- a/lib/vhost/vduse.c
+++ b/lib/vhost/vduse.c
@@ -118,5 +118,5 @@ static struct vhost_backend_ops vduse_backend_ops = {
static void
-vduse_control_queue_event(int fd, void *arg, int *remove __rte_unused)
+vduse_control_queue_event(int fd, void *arg, int *close __rte_unused)
{
struct virtio_net *dev = arg;
@@ -352,5 +352,5 @@ vduse_device_stop(struct virtio_net *dev)
static void
-vduse_events_handler(int fd, void *arg, int *remove __rte_unused)
+vduse_events_handler(int fd, void *arg, int *close __rte_unused)
{
struct virtio_net *dev = arg;
@@ -565,5 +565,5 @@ vduse_reconnect_log_check(struct virtio_net *dev, uint64_t features, uint32_t to
static void
-vduse_reconnect_handler(int fd, void *arg, int *remove)
+vduse_reconnect_handler(int fd __rte_unused, void *arg, int *close)
{
struct virtio_net *dev = arg;
@@ -571,6 +571,5 @@ vduse_reconnect_handler(int fd, void *arg, int *remove)
vduse_device_start(dev, true);
- close(fd);
- *remove = 1;
+ *close = 1;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:40.812387807 +0000
+++ 0059-vhost-fix-FD-entries-cleanup.patch 2025-02-12 17:29:34.382946121 +0000
@@ -1 +1 @@
-From 50966930caf2d1a82655f2c3415c093421d70072 Mon Sep 17 00:00:00 2001
+From 17320be508658dba6e61ab78b3154c85749464fe Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 50966930caf2d1a82655f2c3415c093421d70072 ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -80 +81 @@
-index 894a0f0dcb..4c6c551c3d 100644
+index 05a7e5902f..799c6b0590 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'build: force GCC 15 to initialize padding bits' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (57 preceding siblings ...)
2025-02-13 9:58 ` patch 'vhost: fix FD entries cleanup' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'random: defer seeding to EAL init' " Kevin Traynor
` (61 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Morten Brørup, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/f6dc4ee6b4ae3eb4f28e2afb97d6d08cede0558b
Thanks.
Kevin
---
From f6dc4ee6b4ae3eb4f28e2afb97d6d08cede0558b Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Fri, 24 Jan 2025 10:26:48 -0800
Subject: [PATCH] build: force GCC 15 to initialize padding bits
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 3c015da37afecbeaa7c9ebf8cf2adcb20ab0e54d ]
With GCC 15, the compiler has changed the default behavior when
initialization is used for aggregate variables. The new default
is to follow the standard (C23) and not initialize everything by
default. This breaks assumptions in some drivers and can be
lead to other bugs. Use the new zero initialization flag to
force of all fields to zero.
Note: other compilers always initialize to zero in these cases.
Only GCC seems to have decided to start initializing less as
a silly attempt at optimization.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
config/meson.build | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/config/meson.build b/config/meson.build
index 6aaad6d8a4..b6b3558e11 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -311,5 +311,5 @@ endif
# -Wall is added by default at warning level 1, and -Wextra
# at warning level 2 (DPDK default)
-warning_flags = [
+global_cflags = [
# additional warnings in alphabetical order
'-Wcast-qual',
@@ -331,17 +331,20 @@ warning_flags = [
'-Wno-packed-not-aligned',
'-Wno-missing-field-initializers',
+
+ # guarantee that all non-initialized parts of structure/union are zero
+ '-fzero-init-padding-bits=all',
]
if not dpdk_conf.get('RTE_ARCH_64')
# for 32-bit, don't warn about casting a 32-bit pointer to 64-bit int - it's fine!!
- warning_flags += '-Wno-pointer-to-int-cast'
+ global_cflags += '-Wno-pointer-to-int-cast'
endif
if cc.get_id() == 'intel'
warning_ids = [181, 188, 2203, 2279, 2557, 3179, 3656]
foreach i:warning_ids
- warning_flags += '-diag-disable=@0@'.format(i)
+ global_cflags += '-diag-disable=@0@'.format(i)
endforeach
endif
-foreach arg: warning_flags
+foreach arg: global_cflags
if cc.has_argument(arg)
add_project_arguments(arg, language: 'c')
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:40.898458398 +0000
+++ 0060-build-force-GCC-15-to-initialize-padding-bits.patch 2025-02-12 17:29:34.383946127 +0000
@@ -1 +1 @@
-From 3c015da37afecbeaa7c9ebf8cf2adcb20ab0e54d Mon Sep 17 00:00:00 2001
+From f6dc4ee6b4ae3eb4f28e2afb97d6d08cede0558b Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 3c015da37afecbeaa7c9ebf8cf2adcb20ab0e54d ]
+
@@ -20,2 +21,0 @@
-Cc: stable@dpdk.org
-
@@ -30 +30 @@
-index 710206095b..f31fef216c 100644
+index 6aaad6d8a4..b6b3558e11 100644
@@ -40 +40 @@
-@@ -331,14 +331,17 @@ warning_flags = [
+@@ -331,17 +331,20 @@ warning_flags = [
@@ -60,3 +59,0 @@
-@@ -352,5 +355,5 @@ if cc.has_argument('-Wvla')
- endif
-
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'random: defer seeding to EAL init' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (58 preceding siblings ...)
2025-02-13 9:58 ` patch 'build: force GCC 15 to initialize padding bits' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'power: defer lcore variable allocation' " Kevin Traynor
` (60 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: David Marchand
Cc: Mattias Rönnblom, Anatoly Burakov, Frode Nordahl, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/e07b9b8acdbeba76f3db1057d327ff0b13f60201
Thanks.
Kevin
---
From e07b9b8acdbeba76f3db1057d327ff0b13f60201 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 10 Feb 2025 22:31:55 +0100
Subject: [PATCH] random: defer seeding to EAL init
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 6b77657ef2e473309a3435cdf63b0f0cbb8328af ]
The RNG is documented as being seeded as part of EAL init.
Move the initialisation (seeding) helper out of a constructor and
call it explicitly from rte_eal_init() as it was done before commit
3f002f069612 ("eal: replace libc-based random generation with LFSR").
This also moves the unconditional lcore variable allocation out of a
constructor.
While at it, mark local symbol rand_state as static.
Fixes: 29c39cd3d54d ("random: keep PRNG state in lcore variable")
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Frode Nordahl <frode.nordahl@canonical.com>
---
lib/eal/common/eal_private.h | 6 ++++++
lib/eal/common/rte_random.c | 12 +++++++++---
lib/eal/freebsd/eal.c | 2 ++
lib/eal/linux/eal.c | 2 ++
lib/eal/windows/eal.c | 2 ++
5 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/lib/eal/common/eal_private.h b/lib/eal/common/eal_private.h
index bb315dab04..a10db6a399 100644
--- a/lib/eal/common/eal_private.h
+++ b/lib/eal/common/eal_private.h
@@ -703,4 +703,10 @@ rte_usage_hook_t
eal_get_application_usage_hook(void);
+/**
+ * Initialise random subsystem.
+ */
+void
+eal_rand_init(void);
+
/**
* Instruct primary process that a secondary process wants to attach.
diff --git a/lib/eal/common/rte_random.c b/lib/eal/common/rte_random.c
index cf0756f26a..8e62578176 100644
--- a/lib/eal/common/rte_random.c
+++ b/lib/eal/common/rte_random.c
@@ -15,4 +15,6 @@
#include <rte_random.h>
+#include "eal_private.h"
+
struct __rte_cache_aligned rte_rand_state {
uint64_t z1;
@@ -23,5 +25,5 @@ struct __rte_cache_aligned rte_rand_state {
};
-RTE_LCORE_VAR_HANDLE(struct rte_rand_state, rand_state);
+static RTE_LCORE_VAR_HANDLE(struct rte_rand_state, rand_state);
/* instance to be shared by all unregistered non-EAL threads */
@@ -130,6 +132,9 @@ struct rte_rand_state *__rte_rand_get_state(void)
idx = rte_lcore_id();
- if (unlikely(idx == LCORE_ID_ANY))
+ if (unlikely(idx == LCORE_ID_ANY)) {
+ /* Make sure rte_*rand() was called after rte_eal_init(). */
+ RTE_ASSERT(rand_state != NULL);
return &unregistered_rand_state;
+ }
return RTE_LCORE_VAR(rand_state);
@@ -229,5 +234,6 @@ __rte_random_initial_seed(void)
}
-RTE_INIT(rte_rand_init)
+void
+eal_rand_init(void)
{
uint64_t seed;
diff --git a/lib/eal/freebsd/eal.c b/lib/eal/freebsd/eal.c
index a96bbf5836..d07cff8651 100644
--- a/lib/eal/freebsd/eal.c
+++ b/lib/eal/freebsd/eal.c
@@ -778,4 +778,6 @@ rte_eal_init(int argc, char **argv)
}
+ eal_rand_init();
+
eal_check_mem_on_local_socket();
diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c
index a6220524a4..b1e63e37fc 100644
--- a/lib/eal/linux/eal.c
+++ b/lib/eal/linux/eal.c
@@ -1174,4 +1174,6 @@ rte_eal_init(int argc, char **argv)
}
+ eal_rand_init();
+
eal_check_mem_on_local_socket();
diff --git a/lib/eal/windows/eal.c b/lib/eal/windows/eal.c
index 5cdc053a02..5c7526f922 100644
--- a/lib/eal/windows/eal.c
+++ b/lib/eal/windows/eal.c
@@ -411,4 +411,6 @@ rte_eal_init(int argc, char **argv)
}
+ eal_rand_init();
+
if (rte_thread_set_affinity_by_id(rte_thread_self(),
&lcore_config[config->main_lcore].cpuset) != 0) {
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:41.005463095 +0000
+++ 0061-random-defer-seeding-to-EAL-init.patch 2025-02-12 17:29:34.389946162 +0000
@@ -1 +1 @@
-From 6b77657ef2e473309a3435cdf63b0f0cbb8328af Mon Sep 17 00:00:00 2001
+From e07b9b8acdbeba76f3db1057d327ff0b13f60201 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 6b77657ef2e473309a3435cdf63b0f0cbb8328af ]
+
@@ -21 +22,0 @@
-Cc: stable@dpdk.org
@@ -36 +37 @@
-index b2a80dbec8..04ba8ddb86 100644
+index bb315dab04..a10db6a399 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'power: defer lcore variable allocation' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (59 preceding siblings ...)
2025-02-13 9:58 ` patch 'random: defer seeding to EAL init' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'eal/x86: defer power intrinsics " Kevin Traynor
` (59 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: David Marchand; +Cc: Anatoly Burakov, Frode Nordahl, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/5803893830512c9ebc2c4c3ac81b895e478c6893
Thanks.
Kevin
---
From 5803893830512c9ebc2c4c3ac81b895e478c6893 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 10 Feb 2025 22:31:56 +0100
Subject: [PATCH] power: defer lcore variable allocation
[ upstream commit 108d30ab8d7a63fea4842c6079fe2669af17ae11 ]
The lcore variable in this code unit is only used through
rte_power_ethdev_pmgmt_queue_*() public symbols.
Defer the unconditional lcore variable allocation in those symbols.
Fixes: 130643319579 ("power: keep per-lcore state in lcore variable")
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Frode Nordahl <frode.nordahl@canonical.com>
---
lib/power/rte_power_pmd_mgmt.c | 27 +++++++++++++++++++--------
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/lib/power/rte_power_pmd_mgmt.c b/lib/power/rte_power_pmd_mgmt.c
index a2fff3b765..369ce3c354 100644
--- a/lib/power/rte_power_pmd_mgmt.c
+++ b/lib/power/rte_power_pmd_mgmt.c
@@ -73,4 +73,20 @@ struct __rte_cache_aligned pmd_core_cfg {
static RTE_LCORE_VAR_HANDLE(struct pmd_core_cfg, lcore_cfgs);
+static void
+init_lcore_cfgs(void)
+{
+ struct pmd_core_cfg *lcore_cfg;
+ unsigned int lcore_id;
+
+ if (lcore_cfgs != NULL)
+ return;
+
+ RTE_LCORE_VAR_ALLOC(lcore_cfgs);
+
+ /* initialize all tailqs */
+ RTE_LCORE_VAR_FOREACH(lcore_id, lcore_cfg, lcore_cfgs)
+ TAILQ_INIT(&lcore_cfg->head);
+}
+
static inline bool
queue_equal(const union queue *l, const union queue *r)
@@ -518,4 +534,5 @@ rte_power_ethdev_pmgmt_queue_enable(unsigned int lcore_id, uint16_t port_id,
}
+ init_lcore_cfgs();
lcore_cfg = RTE_LCORE_VAR_LCORE(lcore_id, lcore_cfgs);
@@ -619,4 +636,6 @@ rte_power_ethdev_pmgmt_queue_disable(unsigned int lcore_id,
/* no need to check queue id as wrong queue id would not be enabled */
+
+ init_lcore_cfgs();
lcore_cfg = RTE_LCORE_VAR_LCORE(lcore_id, lcore_cfgs);
@@ -769,14 +788,6 @@ rte_power_pmd_mgmt_get_scaling_freq_max(unsigned int lcore)
RTE_INIT(rte_power_ethdev_pmgmt_init) {
- unsigned int lcore_id;
- struct pmd_core_cfg *lcore_cfg;
int i;
- RTE_LCORE_VAR_ALLOC(lcore_cfgs);
-
- /* initialize all tailqs */
- RTE_LCORE_VAR_FOREACH(lcore_id, lcore_cfg, lcore_cfgs)
- TAILQ_INIT(&lcore_cfg->head);
-
/* initialize config defaults */
emptypoll_max = 512;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:41.113460121 +0000
+++ 0062-power-defer-lcore-variable-allocation.patch 2025-02-12 17:29:34.390946168 +0000
@@ -1 +1 @@
-From 108d30ab8d7a63fea4842c6079fe2669af17ae11 Mon Sep 17 00:00:00 2001
+From 5803893830512c9ebc2c4c3ac81b895e478c6893 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 108d30ab8d7a63fea4842c6079fe2669af17ae11 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'eal/x86: defer power intrinsics variable allocation' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (60 preceding siblings ...)
2025-02-13 9:58 ` patch 'power: defer lcore variable allocation' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/bnxt: fix indication of " Kevin Traynor
` (58 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: David Marchand; +Cc: Anatoly Burakov, Frode Nordahl, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/17c59ba22a0d3dea11278bb7410d9f1de8274762
Thanks.
Kevin
---
From 17c59ba22a0d3dea11278bb7410d9f1de8274762 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 10 Feb 2025 22:31:58 +0100
Subject: [PATCH] eal/x86: defer power intrinsics variable allocation
[ upstream commit 77e33f28c06dde70b90b9d4fa9a57062c3bf11f7 ]
The lcore variable in this code unit is only used through
rte_power_monitor*() public symbols.
Defer the unconditional lcore variable allocation in those symbols.
Fixes: 18b5049ab4fe ("eal/x86: keep power intrinsics state in lcore variable")
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Frode Nordahl <frode.nordahl@canonical.com>
---
lib/eal/x86/rte_power_intrinsics.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/lib/eal/x86/rte_power_intrinsics.c b/lib/eal/x86/rte_power_intrinsics.c
index e4cb913590..f7d558153e 100644
--- a/lib/eal/x86/rte_power_intrinsics.c
+++ b/lib/eal/x86/rte_power_intrinsics.c
@@ -23,5 +23,11 @@ struct power_wait_status {
RTE_LCORE_VAR_HANDLE(struct power_wait_status, wait_status);
-RTE_LCORE_VAR_INIT(wait_status);
+static void
+init_wait_status(void)
+{
+ if (wait_status != NULL)
+ return;
+ RTE_LCORE_VAR_ALLOC(wait_status);
+}
/*
@@ -178,4 +184,5 @@ rte_power_monitor(const struct rte_power_monitor_cond *pmc,
return -EINVAL;
+ init_wait_status();
s = RTE_LCORE_VAR_LCORE(lcore_id, wait_status);
@@ -270,4 +277,5 @@ rte_power_monitor_wakeup(const unsigned int lcore_id)
return -EINVAL;
+ init_wait_status();
s = RTE_LCORE_VAR_LCORE(lcore_id, wait_status);
@@ -309,5 +317,5 @@ rte_power_monitor_multi(const struct rte_power_monitor_cond pmc[],
const uint32_t num, const uint64_t tsc_timestamp)
{
- struct power_wait_status *s = RTE_LCORE_VAR(wait_status);
+ struct power_wait_status *s;
uint32_t i, rc;
@@ -319,4 +327,7 @@ rte_power_monitor_multi(const struct rte_power_monitor_cond pmc[],
return -EINVAL;
+ init_wait_status();
+ s = RTE_LCORE_VAR(wait_status);
+
/* we are already inside transaction region, return */
if (rte_xtest() != 0)
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:41.210178529 +0000
+++ 0063-eal-x86-defer-power-intrinsics-variable-allocation.patch 2025-02-12 17:29:34.391946174 +0000
@@ -1 +1 @@
-From 77e33f28c06dde70b90b9d4fa9a57062c3bf11f7 Mon Sep 17 00:00:00 2001
+From 17c59ba22a0d3dea11278bb7410d9f1de8274762 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 77e33f28c06dde70b90b9d4fa9a57062c3bf11f7 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/bnxt: fix indication of allocation' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (61 preceding siblings ...)
2025-02-13 9:58 ` patch 'eal/x86: defer power intrinsics " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/bnxt: fix Rx handler' " Kevin Traynor
` (57 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Andre Muezerie; +Cc: Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/ae99f14c94a9d384be03ab8045fe2670fc074015
Thanks.
Kevin
---
From ae99f14c94a9d384be03ab8045fe2670fc074015 Mon Sep 17 00:00:00 2001
From: Andre Muezerie <andremue@linux.microsoft.com>
Date: Fri, 17 Jan 2025 12:51:33 -0800
Subject: [PATCH] net/bnxt: fix indication of allocation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 8531f9ba0062032454121f4959cd3d495cd4147e ]
When experimenting with the -std=c2x compiler option the error below
popped up:
../drivers/net/bnxt/tf_core/tf_sram_mgr.c:952:39: error: incompatible
types when assigning to type ‘_Bool *’ from type ‘_Bool’
The code indicates that the intention was to assign false to the bool
being pointed to, not to the pointer itself.
Fixes: 37ff91c158a3 ("net/bnxt: add SRAM manager model")
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/tf_core/tf_sram_mgr.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bnxt/tf_core/tf_sram_mgr.c b/drivers/net/bnxt/tf_core/tf_sram_mgr.c
index 87e8882fed..0dffd74cd5 100644
--- a/drivers/net/bnxt/tf_core/tf_sram_mgr.c
+++ b/drivers/net/bnxt/tf_core/tf_sram_mgr.c
@@ -950,5 +950,5 @@ int tf_sram_mgr_is_allocated(void *sram_handle,
tf_sram_bank_2_str(parms->bank_id));
- parms->is_allocated = false;
+ *parms->is_allocated = false;
goto done;
}
@@ -965,5 +965,5 @@ int tf_sram_mgr_is_allocated(void *sram_handle,
TFP_DRV_LOG(ERR, "block not found in list 0x%x\n",
parms->sram_offset);
- parms->is_allocated = false;
+ *parms->is_allocated = false;
goto done;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:41.326701888 +0000
+++ 0064-net-bnxt-fix-indication-of-allocation.patch 2025-02-12 17:29:34.393946186 +0000
@@ -1 +1 @@
-From 8531f9ba0062032454121f4959cd3d495cd4147e Mon Sep 17 00:00:00 2001
+From ae99f14c94a9d384be03ab8045fe2670fc074015 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 8531f9ba0062032454121f4959cd3d495cd4147e ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/bnxt: fix Rx handler' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (62 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/bnxt: fix indication of " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/bnxt: fix crash when representor is re-attached' " Kevin Traynor
` (56 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Ajit Khaparde; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/165e2879f3e356e8aae633946999858608bbef2d
Thanks.
Kevin
---
From 165e2879f3e356e8aae633946999858608bbef2d Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Mon, 3 Feb 2025 11:50:39 -0800
Subject: [PATCH] net/bnxt: fix Rx handler
[ upstream commit 73b05bbc6dd2d21c59b6ec6f72d8ae88d6bead3d ]
Fix the code accounting the status of compressed CQE handler.
The code was inside the block handling the normal CQE mode.
Moved the code out. Without this the Rx datapath was broken
for compressed CQEs in scalar mode.
Fixes: 5c980062d895 ("net/bnxt: support compressed Rx CQE")
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_rxr.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
index 5b43bcbea6..b53d9a917a 100644
--- a/drivers/net/bnxt/bnxt_rxr.c
+++ b/drivers/net/bnxt/bnxt_rxr.c
@@ -1391,12 +1391,4 @@ uint16_t bnxt_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
(CMP_TYPE(rxcmp) <= CMPL_BASE_TYPE_RX_TPA_START_V3)) {
rc = bnxt_rx_pkt(&rx_pkts[nb_rx_pkts], rxq, &raw_cons);
- if (!rc)
- nb_rx_pkts++;
- else if (rc == -EBUSY) /* partial completion */
- break;
- else if (rc == -ENODEV) /* completion for representor */
- nb_rep_rx_pkts++;
- else if (rc == -ENOMEM)
- nb_rx_pkts++;
} else if (!BNXT_NUM_ASYNC_CPR(rxq->bp)) {
evt =
@@ -1408,4 +1400,12 @@ uint16_t bnxt_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
}
+ if (!rc)
+ nb_rx_pkts++;
+ else if (rc == -EBUSY) /* partial completion */
+ break;
+ else if (rc == -ENODEV) /* completion for representor */
+ nb_rep_rx_pkts++;
+ else if (rc == -ENOMEM)
+ nb_rx_pkts++;
raw_cons = NEXT_RAW_CMP(raw_cons);
/*
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:41.421539967 +0000
+++ 0065-net-bnxt-fix-Rx-handler.patch 2025-02-12 17:29:34.395946198 +0000
@@ -1 +1 @@
-From 73b05bbc6dd2d21c59b6ec6f72d8ae88d6bead3d Mon Sep 17 00:00:00 2001
+From 165e2879f3e356e8aae633946999858608bbef2d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 73b05bbc6dd2d21c59b6ec6f72d8ae88d6bead3d ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/bnxt: fix crash when representor is re-attached' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (63 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/bnxt: fix Rx handler' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/bnxt: fix dead code' " Kevin Traynor
` (55 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Sangtani Parag Satishbhai
Cc: Somnath Kotur, Kalesh AP, Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/6eaaefeecea9eaf0ef2069e676e804e2e7fec63a
Thanks.
Kevin
---
From 6eaaefeecea9eaf0ef2069e676e804e2e7fec63a Mon Sep 17 00:00:00 2001
From: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com>
Date: Thu, 19 Dec 2024 17:31:13 -0800
Subject: [PATCH] net/bnxt: fix crash when representor is re-attached
[ upstream commit fca6cf68bbcf9b84e4388239031fb168a6624375 ]
When the PCI port is detached using the testpmd command,
as part of cleanup testpmd removes resources of parent
port and all the children's ports and calls the driver specific
pci_remove API with the parent rte ethdev to clean-up ethdevs.
For the bnxt driver, a condition to check type of ethdev is added
in bnxt_pci_remove and based on the condition relevant
ethdev is removed (VF/PF or VFR). As the RTE layer always
calls PCI remove with the parent ethdev, the bnxt_pci_remove
never frees children (VFRs) ethdev. As, these ethdevs were not
freed it gives spurious status in re-allocation check(when pci
port attach command is executed) and when RTE layers tries to
access interrupt specific info from the ethdev due to uninitialized
members it access NULL pointer which results in seg fault. The fix
is made in bnxt_pci_remove to clean ethdev for parent (PF/VF) along
with children (VFRs).
Fixes: 322bd6e70272 ("net/bnxt: add port representor infrastructure")
Signed-off-by: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index ef8a928c91..a63a9af91e 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -7015,4 +7015,6 @@ static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
{
struct rte_eth_dev *eth_dev;
+ uint16_t port_id;
+ int rc = 0;
eth_dev = rte_eth_dev_allocated(pci_dev->device.name);
@@ -7024,12 +7026,18 @@ static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
*/
- PMD_DRV_LOG_LINE(DEBUG, "BNXT Port:%d pci remove", eth_dev->data->port_id);
if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
- if (rte_eth_dev_is_repr(eth_dev))
- return rte_eth_dev_destroy(eth_dev,
- bnxt_representor_uninit);
- else
- return rte_eth_dev_destroy(eth_dev,
- bnxt_dev_uninit);
+ RTE_ETH_FOREACH_DEV_OF(port_id, &pci_dev->device) {
+ PMD_DRV_LOG_LINE(DEBUG, "BNXT Port:%d pci remove", port_id);
+ eth_dev = &rte_eth_devices[port_id];
+ if (eth_dev->data->dev_flags & RTE_ETH_DEV_REPRESENTOR)
+ rc = rte_eth_dev_destroy(eth_dev,
+ bnxt_representor_uninit);
+ else
+ rc = rte_eth_dev_destroy(eth_dev,
+ bnxt_dev_uninit);
+ if (rc != 0)
+ return rc;
+ }
+ return rc;
} else {
return rte_eth_dev_pci_generic_remove(pci_dev, NULL);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:41.525461709 +0000
+++ 0066-net-bnxt-fix-crash-when-representor-is-re-attached.patch 2025-02-12 17:29:34.404946252 +0000
@@ -1 +1 @@
-From fca6cf68bbcf9b84e4388239031fb168a6624375 Mon Sep 17 00:00:00 2001
+From 6eaaefeecea9eaf0ef2069e676e804e2e7fec63a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fca6cf68bbcf9b84e4388239031fb168a6624375 ]
+
@@ -23 +24,0 @@
-Cc: stable@dpdk.org
@@ -34 +35 @@
-index b18247feb2..144d4377bd 100644
+index ef8a928c91..a63a9af91e 100644
@@ -37 +38 @@
-@@ -6994,4 +6994,6 @@ static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
+@@ -7015,4 +7015,6 @@ static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
@@ -44 +45 @@
-@@ -7003,12 +7005,18 @@ static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
+@@ -7024,12 +7026,18 @@ static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/bnxt: fix dead code' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (64 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/bnxt: fix crash when representor is re-attached' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/bnxt: fix overflow' " Kevin Traynor
` (54 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Peter Spreadborough; +Cc: Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/434be46b356e8475e86a1535b99a8ff60787c470
Thanks.
Kevin
---
From 434be46b356e8475e86a1535b99a8ff60787c470 Mon Sep 17 00:00:00 2001
From: Peter Spreadborough <peter.spreadborough@broadcom.com>
Date: Mon, 2 Dec 2024 14:24:34 -0500
Subject: [PATCH] net/bnxt: fix dead code
[ upstream commit 35180d7b216f987a0e4fb98eb1e6bcf26fe76e69 ]
This change addresses the CID 449075: Control flow issues (DEADCODE)
reported by coverity associated with the ASSERT_RETURN macro. The
change renames the macro and replaces the log macro to use
PMD_DRV_LOG_LINE.
Coverity issue: 449075
Fixes: 80317ff6adfd ("net/bnxt/tf_core: support Thor2")
Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
.../hcapi/cfa_v3/bld/p70/cfa_bld_p70_mpc.c | 90 +++++------
.../p70/host/cfa_bld_p70_host_mpc_wrapper.c | 150 +++++++++---------
2 files changed, 120 insertions(+), 120 deletions(-)
diff --git a/drivers/net/bnxt/hcapi/cfa_v3/bld/p70/cfa_bld_p70_mpc.c b/drivers/net/bnxt/hcapi/cfa_v3/bld/p70/cfa_bld_p70_mpc.c
index 445d9aad87..3f8ef3a5f1 100644
--- a/drivers/net/bnxt/hcapi/cfa_v3/bld/p70/cfa_bld_p70_mpc.c
+++ b/drivers/net/bnxt/hcapi/cfa_v3/bld/p70/cfa_bld_p70_mpc.c
@@ -32,7 +32,7 @@
#ifdef NXT_ENV_DEBUG
-#define ASSERT_RETURN(ERRNO) CFA_LOG_ERR("Returning error: %d\n", (ERRNO))
+#define LOG_RC(ERRNO) PMD_DRV_LOG_LINE(ERR, "Returning error: %d", (ERRNO))
#else
-#define ASSERT_RETURN(ERRNO)
+#define LOG_RC(ERRNO)
#endif
@@ -69,5 +69,5 @@ static int fill_mpc_header(uint8_t *cmd, uint32_t size, uint32_t opaque_val)
if (size < sizeof(struct mpc_header)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -88,15 +88,15 @@ static int compose_mpc_read_clr_msg(uint8_t *cmd_buff, uint32_t *cmd_buff_len,
if (parms->data_size != 1) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (parms->tbl_type >= CFA_HW_TABLE_MAX) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (*cmd_buff_len < cmd_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -139,15 +139,15 @@ static int compose_mpc_read_msg(uint8_t *cmd_buff, uint32_t *cmd_buff_len,
if (parms->data_size < 1 || parms->data_size > 4) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (parms->tbl_type >= CFA_HW_TABLE_MAX) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (*cmd_buff_len < cmd_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -195,20 +195,20 @@ static int compose_mpc_write_msg(uint8_t *cmd_buff, uint32_t *cmd_buff_len,
if (parms->data_size < 1 || parms->data_size > 4) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (parms->tbl_type >= CFA_HW_TABLE_MAX) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (!parms->write.data_ptr) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (*cmd_buff_len < cmd_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -253,15 +253,15 @@ static int compose_mpc_evict_msg(uint8_t *cmd_buff, uint32_t *cmd_buff_len,
if (parms->data_size < 1 || parms->data_size > 4) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (parms->tbl_type >= CFA_HW_TABLE_MAX) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (*cmd_buff_len < cmd_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -294,5 +294,5 @@ static int compose_mpc_evict_msg(uint8_t *cmd_buff, uint32_t *cmd_buff_len,
case CFA_MPC_EV_EVICT_TABLE_SCOPE:
/* Not supported */
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
default:
@@ -327,5 +327,5 @@ int cfa_mpc_build_cache_axs_cmd(enum cfa_mpc_opcode opc, uint8_t *cmd_buff,
int rc;
if (!cmd_buff || !cmd_buff_len || *cmd_buff_len == 0 || !parms) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -345,5 +345,5 @@ int cfa_mpc_build_cache_axs_cmd(enum cfa_mpc_opcode opc, uint8_t *cmd_buff,
return compose_mpc_evict_msg(cmd_buff, cmd_buff_len, parms);
default:
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -361,15 +361,15 @@ static int compose_mpc_em_search_msg(uint8_t *cmd_buff, uint32_t *cmd_buff_len,
if (e->data_size < 1 || e->data_size > 4) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (*cmd_buff_len < cmd_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (!e->em_entry) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -406,15 +406,15 @@ static int compose_mpc_em_insert_msg(uint8_t *cmd_buff, uint32_t *cmd_buff_len,
if (e->data_size < 1 || e->data_size > 4) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (*cmd_buff_len < cmd_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (!e->em_entry) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -456,5 +456,5 @@ static int compose_mpc_em_delete_msg(uint8_t *cmd_buff, uint32_t *cmd_buff_len,
if (*cmd_buff_len < cmd_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -488,5 +488,5 @@ static int compose_mpc_em_chain_msg(uint8_t *cmd_buff, uint32_t *cmd_buff_len,
if (*cmd_buff_len < cmd_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -531,5 +531,5 @@ int cfa_mpc_build_em_op_cmd(enum cfa_mpc_opcode opc, uint8_t *cmd_buff,
int rc;
if (!cmd_buff || !cmd_buff_len || *cmd_buff_len == 0 || !parms) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -549,5 +549,5 @@ int cfa_mpc_build_em_op_cmd(enum cfa_mpc_opcode opc, uint8_t *cmd_buff,
return compose_mpc_em_chain_msg(cmd_buff, cmd_buff_len, parms);
default:
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -573,15 +573,15 @@ static int parse_mpc_read_clr_result(uint8_t *resp_buff, uint32_t resp_buff_len,
if (resp_buff_len < resp_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (result->data_len < rd_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (!result->rd_data) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -623,15 +623,15 @@ static int parse_mpc_read_result(uint8_t *resp_buff, uint32_t resp_buff_len,
if (resp_buff_len < resp_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (result->data_len < rd_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
if (!result->rd_data) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -672,5 +672,5 @@ static int parse_mpc_write_result(uint8_t *resp_buff, uint32_t resp_buff_len,
if (resp_buff_len < resp_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -697,5 +697,5 @@ static int parse_mpc_evict_result(uint8_t *resp_buff, uint32_t resp_buff_len,
if (resp_buff_len < resp_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -729,5 +729,5 @@ int cfa_mpc_parse_cache_axs_resp(enum cfa_mpc_opcode opc, uint8_t *resp_buff,
{
if (!resp_buff || resp_buff_len == 0 || !result) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -744,5 +744,5 @@ int cfa_mpc_parse_cache_axs_resp(enum cfa_mpc_opcode opc, uint8_t *resp_buff,
return parse_mpc_evict_result(resp_buff, resp_buff_len, result);
default:
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -763,5 +763,5 @@ static int parse_mpc_em_search_result(uint8_t *resp_buff,
if (resp_buff_len < resp_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -795,5 +795,5 @@ static int parse_mpc_em_insert_result(uint8_t *resp_buff,
if (resp_buff_len < resp_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -829,5 +829,5 @@ static int parse_mpc_em_delete_result(uint8_t *resp_buff,
if (resp_buff_len < resp_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -860,5 +860,5 @@ static int parse_mpc_em_chain_result(uint8_t *resp_buff, uint32_t resp_buff_len,
if (resp_buff_len < resp_size) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -895,5 +895,5 @@ int cfa_mpc_parse_em_op_resp(enum cfa_mpc_opcode opc, uint8_t *resp_buff,
{
if (!resp_buff || resp_buff_len == 0 || !result) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -913,5 +913,5 @@ int cfa_mpc_parse_em_op_resp(enum cfa_mpc_opcode opc, uint8_t *resp_buff,
result);
default:
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
diff --git a/drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_bld_p70_host_mpc_wrapper.c b/drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_bld_p70_host_mpc_wrapper.c
index d685cc8a63..4719be2b7e 100644
--- a/drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_bld_p70_host_mpc_wrapper.c
+++ b/drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_bld_p70_host_mpc_wrapper.c
@@ -22,7 +22,7 @@
#ifdef NXT_ENV_DEBUG
-#define ASSERT_RETURN(ERRNO) CFA_LOG_ERR("Returning error: %d\n", (ERRNO))
+#define LOG_RC(ERRNO) PMD_DRV_LOG_LINE(ERR, "Returning error: %d", (ERRNO))
#else
-#define ASSERT_RETURN(ERRNO)
+#define LOG_RC(ERRNO)
#endif
@@ -48,5 +48,5 @@
retcode = MAP_FUNC(fields[INDEX].val, &mapped_val); \
if (retcode) \
- ASSERT_RETURN(retcode); \
+ LOG_RC(retcode); \
else \
parms.NAME = (TYPE)mapped_val; \
@@ -76,5 +76,5 @@
retcode = MAP_FUNC(result.NAME, &mapped_val); \
if (retcode) \
- ASSERT_RETURN(retcode); \
+ LOG_RC(retcode); \
else \
fields[INDEX].val = mapped_val; \
@@ -122,5 +122,5 @@ static int table_type_map(uint64_t val, uint64_t *mapped_val)
break;
default:
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -146,5 +146,5 @@ static int read_mode_map(uint64_t val, uint64_t *mapped_val)
break;
default:
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -163,5 +163,5 @@ static int write_mode_map(uint64_t val, uint64_t *mapped_val)
break;
default:
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -192,5 +192,5 @@ static int evict_mode_map(uint64_t val, uint64_t *mapped_val)
break;
default:
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -233,5 +233,5 @@ static int status_code_map(uint64_t val, uint64_t *mapped_val)
break;
default:
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -267,5 +267,5 @@ int cfa_bld_p70_mpc_build_cache_read(uint8_t *cmd, uint32_t *cmd_buff_len,
/* Parameters check */
if (!cmd || !cmd_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -273,5 +273,5 @@ int cfa_bld_p70_mpc_build_cache_read(uint8_t *cmd, uint32_t *cmd_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_READ_CMD_MAX_FLD,
cfa_p70_mpc_read_cmd_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -292,5 +292,5 @@ int cfa_bld_p70_mpc_build_cache_read(uint8_t *cmd, uint32_t *cmd_buff_len,
table_type_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -300,5 +300,5 @@ int cfa_bld_p70_mpc_build_cache_read(uint8_t *cmd, uint32_t *cmd_buff_len,
fields, read_mode_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -317,5 +317,5 @@ int cfa_bld_p70_mpc_build_cache_write(uint8_t *cmd, uint32_t *cmd_buff_len,
/* Parameters check */
if (!cmd || !cmd_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -323,5 +323,5 @@ int cfa_bld_p70_mpc_build_cache_write(uint8_t *cmd, uint32_t *cmd_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_WRITE_CMD_MAX_FLD,
cfa_p70_mpc_write_cmd_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -340,5 +340,5 @@ int cfa_bld_p70_mpc_build_cache_write(uint8_t *cmd, uint32_t *cmd_buff_len,
table_type_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -349,5 +349,5 @@ int cfa_bld_p70_mpc_build_cache_write(uint8_t *cmd, uint32_t *cmd_buff_len,
fields, write_mode_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -365,5 +365,5 @@ int cfa_bld_p70_mpc_build_cache_evict(uint8_t *cmd, uint32_t *cmd_buff_len,
/* Parameters check */
if (!cmd || !cmd_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -371,5 +371,5 @@ int cfa_bld_p70_mpc_build_cache_evict(uint8_t *cmd, uint32_t *cmd_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_INVALIDATE_CMD_MAX_FLD,
cfa_p70_mpc_invalidate_cmd_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -388,5 +388,5 @@ int cfa_bld_p70_mpc_build_cache_evict(uint8_t *cmd, uint32_t *cmd_buff_len,
fields, table_type_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -396,5 +396,5 @@ int cfa_bld_p70_mpc_build_cache_evict(uint8_t *cmd, uint32_t *cmd_buff_len,
fields, evict_mode_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -412,5 +412,5 @@ int cfa_bld_p70_mpc_build_cache_rdclr(uint8_t *cmd, uint32_t *cmd_buff_len,
/* Parameters check */
if (!cmd || !cmd_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -418,5 +418,5 @@ int cfa_bld_p70_mpc_build_cache_rdclr(uint8_t *cmd, uint32_t *cmd_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_READ_CLR_CMD_MAX_FLD,
cfa_p70_mpc_read_clr_cmd_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -437,5 +437,5 @@ int cfa_bld_p70_mpc_build_cache_rdclr(uint8_t *cmd, uint32_t *cmd_buff_len,
fields, table_type_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -447,5 +447,5 @@ int cfa_bld_p70_mpc_build_cache_rdclr(uint8_t *cmd, uint32_t *cmd_buff_len,
fields, read_mode_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -466,5 +466,5 @@ int cfa_bld_p70_mpc_build_em_search(uint8_t *cmd, uint32_t *cmd_buff_len,
/* Parameters check */
if (!cmd || !cmd_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -473,5 +473,5 @@ int cfa_bld_p70_mpc_build_em_search(uint8_t *cmd, uint32_t *cmd_buff_len,
unsupported_fields,
ARRAY_SIZE(unsupported_fields))) {
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -479,5 +479,5 @@ int cfa_bld_p70_mpc_build_em_search(uint8_t *cmd, uint32_t *cmd_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_EM_SEARCH_CMD_MAX_FLD,
cfa_p70_mpc_em_search_cmd_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -510,5 +510,5 @@ int cfa_bld_p70_mpc_build_em_insert(uint8_t *cmd, uint32_t *cmd_buff_len,
/* Parameters check */
if (!cmd || !cmd_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -517,5 +517,5 @@ int cfa_bld_p70_mpc_build_em_insert(uint8_t *cmd, uint32_t *cmd_buff_len,
unsupported_fields,
ARRAY_SIZE(unsupported_fields))) {
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -523,5 +523,5 @@ int cfa_bld_p70_mpc_build_em_insert(uint8_t *cmd, uint32_t *cmd_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_EM_INSERT_CMD_MAX_FLD,
cfa_p70_mpc_em_insert_cmd_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -559,5 +559,5 @@ int cfa_bld_p70_mpc_build_em_delete(uint8_t *cmd, uint32_t *cmd_buff_len,
/* Parameters check */
if (!cmd || !cmd_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -566,5 +566,5 @@ int cfa_bld_p70_mpc_build_em_delete(uint8_t *cmd, uint32_t *cmd_buff_len,
unsupported_fields,
ARRAY_SIZE(unsupported_fields))) {
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -572,5 +572,5 @@ int cfa_bld_p70_mpc_build_em_delete(uint8_t *cmd, uint32_t *cmd_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_EM_DELETE_CMD_MAX_FLD,
cfa_p70_mpc_em_delete_cmd_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -603,5 +603,5 @@ int cfa_bld_p70_mpc_build_em_chain(uint8_t *cmd, uint32_t *cmd_buff_len,
/* Parameters check */
if (!cmd || !cmd_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -610,5 +610,5 @@ int cfa_bld_p70_mpc_build_em_chain(uint8_t *cmd, uint32_t *cmd_buff_len,
unsupported_fields,
ARRAY_SIZE(unsupported_fields))) {
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -616,5 +616,5 @@ int cfa_bld_p70_mpc_build_em_chain(uint8_t *cmd, uint32_t *cmd_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_EM_CHAIN_CMD_MAX_FLD,
cfa_p70_mpc_em_chain_cmd_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -654,5 +654,5 @@ int cfa_bld_p70_mpc_parse_cache_read(uint8_t *resp, uint32_t resp_buff_len,
/* Parameters check */
if (!resp || !resp_buff_len || !fields || !rd_data) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -661,5 +661,5 @@ int cfa_bld_p70_mpc_parse_cache_read(uint8_t *resp, uint32_t resp_buff_len,
unsupported_fields,
ARRAY_SIZE(unsupported_fields))) {
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -667,5 +667,5 @@ int cfa_bld_p70_mpc_parse_cache_read(uint8_t *resp, uint32_t resp_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_READ_CMP_MAX_FLD,
cfa_p70_mpc_read_cmp_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -684,5 +684,5 @@ int cfa_bld_p70_mpc_parse_cache_read(uint8_t *resp, uint32_t resp_buff_len,
fields, status_code_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -708,5 +708,5 @@ int cfa_bld_p70_mpc_parse_cache_write(uint8_t *resp, uint32_t resp_buff_len,
/* Parameters check */
if (!resp || !resp_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -715,5 +715,5 @@ int cfa_bld_p70_mpc_parse_cache_write(uint8_t *resp, uint32_t resp_buff_len,
unsupported_fields,
ARRAY_SIZE(unsupported_fields))) {
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -721,5 +721,5 @@ int cfa_bld_p70_mpc_parse_cache_write(uint8_t *resp, uint32_t resp_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_WRITE_CMP_MAX_FLD,
cfa_p70_mpc_write_cmp_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -729,5 +729,5 @@ int cfa_bld_p70_mpc_parse_cache_write(uint8_t *resp, uint32_t resp_buff_len,
&result);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -738,5 +738,5 @@ int cfa_bld_p70_mpc_parse_cache_write(uint8_t *resp, uint32_t resp_buff_len,
fields, status_code_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -762,5 +762,5 @@ int cfa_bld_p70_mpc_parse_cache_evict(uint8_t *resp, uint32_t resp_buff_len,
/* Parameters check */
if (!resp || !resp_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -769,5 +769,5 @@ int cfa_bld_p70_mpc_parse_cache_evict(uint8_t *resp, uint32_t resp_buff_len,
unsupported_fields,
ARRAY_SIZE(unsupported_fields))) {
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -775,5 +775,5 @@ int cfa_bld_p70_mpc_parse_cache_evict(uint8_t *resp, uint32_t resp_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_INVALIDATE_CMP_MAX_FLD,
cfa_p70_mpc_invalidate_cmp_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -783,5 +783,5 @@ int cfa_bld_p70_mpc_parse_cache_evict(uint8_t *resp, uint32_t resp_buff_len,
resp_buff_len, &result);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -794,5 +794,5 @@ int cfa_bld_p70_mpc_parse_cache_evict(uint8_t *resp, uint32_t resp_buff_len,
fields, status_code_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -820,5 +820,5 @@ int cfa_bld_p70_mpc_parse_cache_rdclr(uint8_t *resp, uint32_t resp_buff_len,
/* Parameters check */
if (!resp || !resp_buff_len || !fields || !rd_data) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -827,5 +827,5 @@ int cfa_bld_p70_mpc_parse_cache_rdclr(uint8_t *resp, uint32_t resp_buff_len,
unsupported_fields,
ARRAY_SIZE(unsupported_fields))) {
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -833,5 +833,5 @@ int cfa_bld_p70_mpc_parse_cache_rdclr(uint8_t *resp, uint32_t resp_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_READ_CMP_MAX_FLD,
cfa_p70_mpc_read_cmp_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -850,5 +850,5 @@ int cfa_bld_p70_mpc_parse_cache_rdclr(uint8_t *resp, uint32_t resp_buff_len,
fields, status_code_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -873,5 +873,5 @@ int cfa_bld_p70_mpc_parse_em_search(uint8_t *resp, uint32_t resp_buff_len,
/* Parameters check */
if (!resp || !resp_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -880,5 +880,5 @@ int cfa_bld_p70_mpc_parse_em_search(uint8_t *resp, uint32_t resp_buff_len,
unsupported_fields,
ARRAY_SIZE(unsupported_fields))) {
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -886,5 +886,5 @@ int cfa_bld_p70_mpc_parse_em_search(uint8_t *resp, uint32_t resp_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_EM_SEARCH_CMP_MAX_FLD,
cfa_p70_mpc_em_search_cmp_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -894,5 +894,5 @@ int cfa_bld_p70_mpc_parse_em_search(uint8_t *resp, uint32_t resp_buff_len,
&result);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -904,5 +904,5 @@ int cfa_bld_p70_mpc_parse_em_search(uint8_t *resp, uint32_t resp_buff_len,
fields, status_code_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -940,5 +940,5 @@ int cfa_bld_p70_mpc_parse_em_insert(uint8_t *resp, uint32_t resp_buff_len,
/* Parameters check */
if (!resp || !resp_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -947,5 +947,5 @@ int cfa_bld_p70_mpc_parse_em_insert(uint8_t *resp, uint32_t resp_buff_len,
unsupported_fields,
ARRAY_SIZE(unsupported_fields))) {
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -953,5 +953,5 @@ int cfa_bld_p70_mpc_parse_em_insert(uint8_t *resp, uint32_t resp_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_EM_INSERT_CMP_MAX_FLD,
cfa_p70_mpc_em_insert_cmp_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -961,5 +961,5 @@ int cfa_bld_p70_mpc_parse_em_insert(uint8_t *resp, uint32_t resp_buff_len,
&result);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -971,5 +971,5 @@ int cfa_bld_p70_mpc_parse_em_insert(uint8_t *resp, uint32_t resp_buff_len,
fields, status_code_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -1011,5 +1011,5 @@ int cfa_bld_p70_mpc_parse_em_delete(uint8_t *resp, uint32_t resp_buff_len,
/* Parameters check */
if (!resp || !resp_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -1018,5 +1018,5 @@ int cfa_bld_p70_mpc_parse_em_delete(uint8_t *resp, uint32_t resp_buff_len,
unsupported_fields,
ARRAY_SIZE(unsupported_fields))) {
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -1024,5 +1024,5 @@ int cfa_bld_p70_mpc_parse_em_delete(uint8_t *resp, uint32_t resp_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_EM_DELETE_CMP_MAX_FLD,
cfa_p70_mpc_em_delete_cmp_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -1032,5 +1032,5 @@ int cfa_bld_p70_mpc_parse_em_delete(uint8_t *resp, uint32_t resp_buff_len,
&result);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -1042,5 +1042,5 @@ int cfa_bld_p70_mpc_parse_em_delete(uint8_t *resp, uint32_t resp_buff_len,
fields, status_code_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -1077,5 +1077,5 @@ int cfa_bld_p70_mpc_parse_em_chain(uint8_t *resp, uint32_t resp_buff_len,
/* Parameters check */
if (!resp || !resp_buff_len || !fields) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -1084,5 +1084,5 @@ int cfa_bld_p70_mpc_parse_em_chain(uint8_t *resp, uint32_t resp_buff_len,
unsupported_fields,
ARRAY_SIZE(unsupported_fields))) {
- ASSERT_RETURN(-ENOTSUP);
+ LOG_RC(-ENOTSUP);
return -ENOTSUP;
}
@@ -1090,5 +1090,5 @@ int cfa_bld_p70_mpc_parse_em_chain(uint8_t *resp, uint32_t resp_buff_len,
if (!fields_valid(fields, CFA_BLD_MPC_EM_CHAIN_CMP_MAX_FLD,
cfa_p70_mpc_em_chain_cmp_gbl_to_dev)) {
- ASSERT_RETURN(-EINVAL);
+ LOG_RC(-EINVAL);
return -EINVAL;
}
@@ -1098,5 +1098,5 @@ int cfa_bld_p70_mpc_parse_em_chain(uint8_t *resp, uint32_t resp_buff_len,
&result);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
@@ -1108,5 +1108,5 @@ int cfa_bld_p70_mpc_parse_em_chain(uint8_t *resp, uint32_t resp_buff_len,
fields, status_code_map);
if (rc) {
- ASSERT_RETURN(rc);
+ LOG_RC(rc);
return rc;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:41.663067370 +0000
+++ 0067-net-bnxt-fix-dead-code.patch 2025-02-12 17:29:34.408946276 +0000
@@ -1 +1 @@
-From 35180d7b216f987a0e4fb98eb1e6bcf26fe76e69 Mon Sep 17 00:00:00 2001
+From 434be46b356e8475e86a1535b99a8ff60787c470 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 35180d7b216f987a0e4fb98eb1e6bcf26fe76e69 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/bnxt: fix overflow' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (65 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/bnxt: fix dead code' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` Kevin Traynor
` (53 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Peter Spreadborough; +Cc: Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/aa3df07ee1543c7265f5e69911231ede3a240c81
Thanks.
Kevin
---
From aa3df07ee1543c7265f5e69911231ede3a240c81 Mon Sep 17 00:00:00 2001
From: Peter Spreadborough <peter.spreadborough@broadcom.com>
Date: Mon, 2 Dec 2024 15:11:13 -0500
Subject: [PATCH] net/bnxt: fix overflow
[ upstream commit 1cde8c8f1fb0dd8a6d437d6cd60daa91cf117e86 ]
This change addresses the CID 449058: Integer handling issues
(OVERFLOW_BEFORE_WIDEN) reported by coverity.
Coverity issue: 449058
Fixes: 80317ff6adfd ("net/bnxt/tf_core: support Thor2")
Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c
index 1770069295..c29933b803 100644
--- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c
+++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c
@@ -469,5 +469,5 @@ static int alloc_link_pbl(struct tfc_ts_mem_cfg *mem_cfg, uint32_t page_size,
* store and will located by name and reused on subsequent runs.
*/
- total_size = page_size * total_pages;
+ total_size = (uint64_t)page_size * (uint64_t)total_pages;
if (total_size <= (1024 * 256))
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:41.762176248 +0000
+++ 0068-net-bnxt-fix-overflow.patch 2025-02-12 17:29:34.411946294 +0000
@@ -1 +1 @@
-From 1cde8c8f1fb0dd8a6d437d6cd60daa91cf117e86 Mon Sep 17 00:00:00 2001
+From aa3df07ee1543c7265f5e69911231ede3a240c81 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1cde8c8f1fb0dd8a6d437d6cd60daa91cf117e86 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index f88299bbf7..10149a3963 100644
+index 1770069295..c29933b803 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/bnxt: fix overflow' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (66 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/bnxt: fix overflow' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/bnxt: address uninitialized variables' " Kevin Traynor
` (52 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Peter Spreadborough; +Cc: Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/72308e8f783aee0210268d036a7fd20ddfe15255
Thanks.
Kevin
---
From 72308e8f783aee0210268d036a7fd20ddfe15255 Mon Sep 17 00:00:00 2001
From: Peter Spreadborough <peter.spreadborough@broadcom.com>
Date: Mon, 2 Dec 2024 15:25:40 -0500
Subject: [PATCH] net/bnxt: fix overflow
[ upstream commit a966ec66a2b14bc91cdd9a9968b4d0c5021139cd ]
This change addresses the CID 449059: Integer handling issues
(INTEGER_OVERFLOW) reported by coverity.
Coverity issue: 449059
Fixes: 80317ff6adfd ("net/bnxt/tf_core: support Thor2")
Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c b/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c
index 61fafadb20..05528dd3e4 100644
--- a/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c
+++ b/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c
@@ -124,5 +124,9 @@ int cfa_mm_open(void *cmm, struct cfa_mm_open_parms *parms)
for (i = 0; i < num_blocks; i++) {
- context->blk_tbl[i].prev_blk_idx = i - 1;
+ if (i == 0)
+ context->blk_tbl[i].prev_blk_idx = CFA_MM_INVALID32;
+ else
+ context->blk_tbl[i].prev_blk_idx = i - 1;
+
context->blk_tbl[i].next_blk_idx = i + 1;
context->blk_tbl[i].num_free_records = records_per_block;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:41.869178801 +0000
+++ 0069-net-bnxt-fix-overflow.patch 2025-02-12 17:29:34.412946300 +0000
@@ -1 +1 @@
-From a966ec66a2b14bc91cdd9a9968b4d0c5021139cd Mon Sep 17 00:00:00 2001
+From 72308e8f783aee0210268d036a7fd20ddfe15255 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a966ec66a2b14bc91cdd9a9968b4d0c5021139cd ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/bnxt: address uninitialized variables' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (67 preceding siblings ...)
2025-02-13 9:58 ` Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/mlx5: fix Netlink socket leak' " Kevin Traynor
` (51 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Peter Spreadborough; +Cc: Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/0459266ffcac228396ea2e8864bde3bb68478336
Thanks.
Kevin
---
From 0459266ffcac228396ea2e8864bde3bb68478336 Mon Sep 17 00:00:00 2001
From: Peter Spreadborough <peter.spreadborough@broadcom.com>
Date: Mon, 2 Dec 2024 16:12:08 -0500
Subject: [PATCH] net/bnxt: address uninitialized variables
[ upstream commit 7ef8b9a8a16bcc3574d4c69a29ee2039e3778045 ]
This change addresses the CID 449065: Uninitialized variables (UNINIT)
issues reported by coverity.
Coverity issue: 449065
Fixes: 80317ff6adfd ("net/bnxt/tf_core: support Thor2")
Fixes: 0513f0af034d ("net/bnxt/tf_ulp: add stats cache for Thor2")
Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/tf_core/v3/tfc_em.c | 1 +
drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.c b/drivers/net/bnxt/tf_core/v3/tfc_em.c
index a70e35b6b1..d460ff2ee0 100644
--- a/drivers/net/bnxt/tf_core/v3/tfc_em.c
+++ b/drivers/net/bnxt/tf_core/v3/tfc_em.c
@@ -561,4 +561,5 @@ int tfc_em_delete_raw(struct tfc *tfcp,
mpc_msg_out.msg_data = &rx_msg[TFC_MPC_HEADER_SIZE_BYTES];
mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES;
+ mpc_msg_out.chnl_id = 0;
rc = tfc_mpc_send(tfcp->bp,
diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c
index 5fa8e240db..57cbaaf09c 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c
@@ -225,4 +225,5 @@ static uint32_t ulp_stats_cache_main_loop(void *arg)
break;
+ batch_info.enabled = false;
rc = tfc_mpc_batch_start(&batch_info);
if (unlikely(rc)) {
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:41.975470566 +0000
+++ 0070-net-bnxt-address-uninitialized-variables.patch 2025-02-12 17:29:34.415946318 +0000
@@ -1 +1 @@
-From 7ef8b9a8a16bcc3574d4c69a29ee2039e3778045 Mon Sep 17 00:00:00 2001
+From 0459266ffcac228396ea2e8864bde3bb68478336 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7ef8b9a8a16bcc3574d4c69a29ee2039e3778045 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -32 +33 @@
-index 85b72f328c..753c19b055 100644
+index 5fa8e240db..57cbaaf09c 100644
@@ -35 +36 @@
-@@ -223,4 +223,5 @@ static uint32_t ulp_stats_cache_main_loop(void *arg)
+@@ -225,4 +225,5 @@ static uint32_t ulp_stats_cache_main_loop(void *arg)
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/mlx5: fix Netlink socket leak' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (68 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/bnxt: address uninitialized variables' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/mlx5: adjust actions per rule limitation' " Kevin Traynor
` (50 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Minggang Li (Gavin); +Cc: Viacheslav Ovsiienko, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/0ac63e172b15677d064ae684d11162624f098bc1
Thanks.
Kevin
---
From 0ac63e172b15677d064ae684d11162624f098bc1 Mon Sep 17 00:00:00 2001
From: "Minggang Li (Gavin)" <gavinl@nvidia.com>
Date: Mon, 23 Dec 2024 12:10:58 +0200
Subject: [PATCH] net/mlx5: fix Netlink socket leak
[ upstream commit 556a5f4ccd452d9281c3476b120d1306e0093e01 ]
Fixes: 72d7efe464b1 ("common/mlx5: share interrupt management")
Signed-off-by: Minggang Li (Gavin) <gavinl@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
.mailmap | 1 +
drivers/net/mlx5/linux/mlx5_os.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/.mailmap b/.mailmap
index 56550db0f8..eb4c65d194 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1034,4 +1034,5 @@ Mike Ximing Chen <mike.ximing.chen@intel.com>
Milena Olech <milena.olech@intel.com>
Min Cao <min.cao@intel.com>
+Minggang Li (Gavin) <gavinl@nvidia.com>
Minghuan Lian <minghuan.lian@nxp.com>
Mingjin Ye <mingjinx.ye@intel.com>
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 69a80b9ddc..b740e47404 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -3018,8 +3018,13 @@ void
mlx5_os_dev_shared_handler_uninstall(struct mlx5_dev_ctx_shared *sh)
{
+ int fd;
+
mlx5_os_interrupt_handler_destroy(sh->intr_handle,
mlx5_dev_interrupt_handler, sh);
+ fd = rte_intr_fd_get(sh->intr_handle_nl);
mlx5_os_interrupt_handler_destroy(sh->intr_handle_nl,
mlx5_dev_interrupt_handler_nl, sh);
+ if (fd >= 0)
+ close(fd);
#ifdef HAVE_IBV_DEVX_ASYNC
mlx5_os_interrupt_handler_destroy(sh->intr_handle_devx,
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:42.079598502 +0000
+++ 0071-net-mlx5-fix-Netlink-socket-leak.patch 2025-02-12 17:29:34.423946365 +0000
@@ -1 +1 @@
-From 556a5f4ccd452d9281c3476b120d1306e0093e01 Mon Sep 17 00:00:00 2001
+From 0ac63e172b15677d064ae684d11162624f098bc1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 556a5f4ccd452d9281c3476b120d1306e0093e01 ]
+
@@ -7 +8,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
-index 4bc9721321..dc3dd9e5a2 100644
+index 56550db0f8..eb4c65d194 100644
@@ -20 +21 @@
-@@ -1037,4 +1037,5 @@ Mike Ximing Chen <mike.ximing.chen@intel.com>
+@@ -1034,4 +1034,5 @@ Mike Ximing Chen <mike.ximing.chen@intel.com>
@@ -27 +28 @@
-index 996c97a6a9..169c229172 100644
+index 69a80b9ddc..b740e47404 100644
@@ -30 +31 @@
-@@ -3071,8 +3071,13 @@ void
+@@ -3018,8 +3018,13 @@ void
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/mlx5: adjust actions per rule limitation' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (69 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/mlx5: fix Netlink socket leak' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/mlx5: fix crash in non-template metadata split' " Kevin Traynor
` (49 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Maayan Kashani; +Cc: Dariusz Sosnowski, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/5879ea0136df2220babafd0d9a601f3aeb82795f
Thanks.
Kevin
---
From 5879ea0136df2220babafd0d9a601f3aeb82795f Mon Sep 17 00:00:00 2001
From: Maayan Kashani <mkashani@nvidia.com>
Date: Tue, 28 Jan 2025 09:54:03 +0200
Subject: [PATCH] net/mlx5: adjust actions per rule limitation
[ upstream commit ab54e17fe2f5207d7b988d568344570e156551ad ]
HWS implementation added a limitation of 16 actions per rule,
which was incompatible with SWS limitation of 32 actions per rule.
Changing the hard coded limitation in PMD to 32.
Fixes: f13fab23922b ("net/mlx5: add flow jump action")
Signed-off-by: Maayan Kashani <mkashani@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
drivers/net/mlx5/mlx5_flow.h | 2 +-
drivers/net/mlx5/mlx5_flow_hw.c | 3 ---
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h
index 757bbf73c1..9c8892b194 100644
--- a/drivers/net/mlx5/mlx5_flow.h
+++ b/drivers/net/mlx5/mlx5_flow.h
@@ -1584,5 +1584,5 @@ struct mlx5_hw_modify_header_action {
/* The maximum actions support in the flow. */
-#define MLX5_HW_MAX_ACTS 16
+#define MLX5_HW_MAX_ACTS 32
/* DR action set struct. */
diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index 2b62711413..501bf33f94 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -22,7 +22,4 @@
static struct rte_flow_fp_ops mlx5_flow_hw_fp_ops;
-/* The maximum actions support in the flow. */
-#define MLX5_HW_MAX_ACTS 16
-
/*
* The default ipool threshold value indicates which per_core_cache
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:42.196083323 +0000
+++ 0072-net-mlx5-adjust-actions-per-rule-limitation.patch 2025-02-12 17:29:34.451946532 +0000
@@ -1 +1 @@
-From ab54e17fe2f5207d7b988d568344570e156551ad Mon Sep 17 00:00:00 2001
+From 5879ea0136df2220babafd0d9a601f3aeb82795f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ab54e17fe2f5207d7b988d568344570e156551ad ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 93c2406abc..445c9cdb4b 100644
+index 757bbf73c1..9c8892b194 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/mlx5: fix crash in non-template metadata split' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (70 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/mlx5: adjust actions per rule limitation' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/mlx5: fix flush of non-template flow rules' " Kevin Traynor
` (48 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Maayan Kashani; +Cc: Bing Zhao, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/f00e13b2b500eb17b3f25cba1aa78e49c3a0ebc5
Thanks.
Kevin
---
From f00e13b2b500eb17b3f25cba1aa78e49c3a0ebc5 Mon Sep 17 00:00:00 2001
From: Maayan Kashani <mkashani@nvidia.com>
Date: Tue, 28 Jan 2025 09:54:04 +0200
Subject: [PATCH] net/mlx5: fix crash in non-template metadata split
[ upstream commit 51470cd861f952d79970972d8c3f1929ddc298f3 ]
For switch dev mode, there is a rule split in case of using mark action.
First rule will have the mark action, tag it with rule ID number
and jump to the second rule that matches the tag and perform
the rest of the actions (like RSS or queue).
First, fix the crash when accessing RSS queue[0] instead of
queue index, same as for queue action handling for
hairpin RX queue check.
Second, set tag action is not supported in HWS,
so, replaced set tag action with modify field action.
Used same tag index for both action and matching.
Fixes: 821a6a5cc495 ("net/mlx5: add metadata split for compatibility")
Signed-off-by: Maayan Kashani <mkashani@nvidia.com>
Acked-by: Bing Zhao <bingz@nvidia.com>
---
drivers/net/mlx5/mlx5_nta_split.c | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_nta_split.c b/drivers/net/mlx5/mlx5_nta_split.c
index b26f305bca..6a85ab7fd1 100644
--- a/drivers/net/mlx5/mlx5_nta_split.c
+++ b/drivers/net/mlx5/mlx5_nta_split.c
@@ -14,4 +14,6 @@
#ifdef HAVE_MLX5_HWS_SUPPORT
+#define BITS_PER_BYTE 8
+
/*
* Generate new actions lists for prefix and suffix flows.
@@ -45,9 +47,8 @@ mlx5_flow_nta_split_qrss_actions_prep(struct rte_eth_dev *dev,
{
struct mlx5_priv *priv = dev->data->dev_private;
- struct mlx5_rte_flow_action_set_tag *set_tag;
+ struct rte_flow_action_modify_field *set_tag;
struct rte_flow_action_jump *jump;
const int qrss_idx = qrss - actions;
uint32_t flow_id = 0;
- int ret = 0;
/* Allocate the new subflow ID and used to be matched later. */
@@ -68,14 +69,14 @@ mlx5_flow_nta_split_qrss_actions_prep(struct rte_eth_dev *dev,
actions_n++;
set_tag = (void *)(prefix_act + actions_n);
- /* Reuse ASO reg, should always succeed. Consider to use REG_C_6. */
- ret = flow_hw_get_reg_id_by_domain(dev, RTE_FLOW_ITEM_TYPE_METER_COLOR,
- MLX5DR_TABLE_TYPE_NIC_RX, 0);
- MLX5_ASSERT(ret != (int)REG_NON);
- set_tag->id = (enum modify_reg)ret;
/* Internal SET_TAG action to set flow ID. */
- set_tag->data = flow_id;
+ set_tag->operation = RTE_FLOW_MODIFY_SET;
+ set_tag->width = sizeof(flow_id) * BITS_PER_BYTE;
+ set_tag->src.field = RTE_FLOW_FIELD_VALUE;
+ memcpy(&set_tag->src.value, &flow_id, sizeof(flow_id));
+ set_tag->dst.field = RTE_FLOW_FIELD_TAG;
+ set_tag->dst.tag_index = RTE_PMD_MLX5_LINEAR_HASH_TAG_INDEX;
/* Construct new actions array and replace QUEUE/RSS action. */
prefix_act[qrss_idx] = (struct rte_flow_action) {
- .type = (enum rte_flow_action_type)MLX5_RTE_FLOW_ACTION_TYPE_TAG,
+ .type = RTE_FLOW_ACTION_TYPE_MODIFY_FIELD,
.conf = set_tag,
};
@@ -133,6 +134,7 @@ mlx5_flow_nta_split_qrss_items_prep(struct rte_eth_dev *dev,
q_tag_spec->data = qrss_id;
q_tag_spec->id = (enum modify_reg)
- flow_hw_get_reg_id_by_domain(dev, RTE_FLOW_ITEM_TYPE_METER_COLOR,
- MLX5DR_TABLE_TYPE_NIC_RX, 0);
+ flow_hw_get_reg_id_by_domain(dev, RTE_FLOW_ITEM_TYPE_TAG,
+ MLX5DR_TABLE_TYPE_NIC_RX,
+ RTE_PMD_MLX5_LINEAR_HASH_TAG_INDEX);
MLX5_ASSERT(q_tag_spec->id != REG_NON);
}
@@ -212,10 +214,10 @@ mlx5_flow_nta_split_metadata(struct rte_eth_dev *dev,
} else if (action_flags & MLX5_FLOW_ACTION_RSS) {
rss = (const struct rte_flow_action_rss *)actions->conf;
- if (mlx5_rxq_is_hairpin(dev, rss->queue[0]))
+ if (mlx5_rxq_is_hairpin(dev, rss->queue_num))
return 0;
}
/* The prefix and suffix flows' actions. */
pefx_act_size = sizeof(struct rte_flow_action) * (actions_n + 1) +
- sizeof(struct rte_flow_action_set_tag) +
+ sizeof(struct rte_flow_action_modify_field) +
sizeof(struct rte_flow_action_jump);
sfx_act_size = sizeof(struct rte_flow_action) * 2;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:42.342156631 +0000
+++ 0073-net-mlx5-fix-crash-in-non-template-metadata-split.patch 2025-02-12 17:29:34.452946538 +0000
@@ -1 +1 @@
-From 51470cd861f952d79970972d8c3f1929ddc298f3 Mon Sep 17 00:00:00 2001
+From f00e13b2b500eb17b3f25cba1aa78e49c3a0ebc5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 51470cd861f952d79970972d8c3f1929ddc298f3 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/mlx5: fix flush of non-template flow rules' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (71 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/mlx5: fix crash in non-template metadata split' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/mlx5: fix GRE flow match with SWS' " Kevin Traynor
` (47 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Maayan Kashani; +Cc: Bing Zhao, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/c6eafb6fe056da98f66807304b30d3bef313c5e4
Thanks.
Kevin
---
From c6eafb6fe056da98f66807304b30d3bef313c5e4 Mon Sep 17 00:00:00 2001
From: Maayan Kashani <mkashani@nvidia.com>
Date: Tue, 28 Jan 2025 09:54:05 +0200
Subject: [PATCH] net/mlx5: fix flush of non-template flow rules
[ upstream commit 716929be9456b78875d0eb20bc54c13acf99efc0 ]
Fix flow flush for non template flows on top of HWS,
in another fix it was added return after releasing template flows.
Need to drop the return in order to release non template list of flows.
Fixes: 1ea333d2de22 ("net/mlx5: fix Rx queue reference count in flushing flows")
Signed-off-by: Maayan Kashani <mkashani@nvidia.com>
Acked-by: Bing Zhao <bingz@nvidia.com>
---
drivers/net/mlx5/mlx5_flow.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 9203643300..3d3b422f05 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -8122,5 +8122,4 @@ mlx5_flow_list_flush(struct rte_eth_dev *dev, enum mlx5_flow_type type,
flow_hw_q_flow_flush(dev, NULL);
priv->hws_rule_flushing = false;
- return;
}
#endif
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:42.438371758 +0000
+++ 0074-net-mlx5-fix-flush-of-non-template-flow-rules.patch 2025-02-12 17:29:34.469946640 +0000
@@ -1 +1 @@
-From 716929be9456b78875d0eb20bc54c13acf99efc0 Mon Sep 17 00:00:00 2001
+From c6eafb6fe056da98f66807304b30d3bef313c5e4 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 716929be9456b78875d0eb20bc54c13acf99efc0 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index bfc44f25bf..a2ee237841 100644
+index 9203643300..3d3b422f05 100644
@@ -23 +24 @@
-@@ -8119,5 +8119,4 @@ mlx5_flow_list_flush(struct rte_eth_dev *dev, enum mlx5_flow_type type,
+@@ -8122,5 +8122,4 @@ mlx5_flow_list_flush(struct rte_eth_dev *dev, enum mlx5_flow_type type,
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/mlx5: fix GRE flow match with SWS' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (72 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/mlx5: fix flush of non-template flow rules' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix deadlock when writing i225 register' " Kevin Traynor
` (46 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Maayan Kashani; +Cc: Bing Zhao, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/c38557155bbb84aeb3987b3eae9b8c4f211cc1ca
Thanks.
Kevin
---
From c38557155bbb84aeb3987b3eae9b8c4f211cc1ca Mon Sep 17 00:00:00 2001
From: Maayan Kashani <mkashani@nvidia.com>
Date: Tue, 28 Jan 2025 09:59:30 +0200
Subject: [PATCH] net/mlx5: fix GRE flow match with SWS
[ upstream commit 05db99c117e36c0cd28cda8f558309efd20055da ]
The previous GRE fix was meant to handle HWS behavior
and changed the behavior for SWS causing degradation.
After the previous fix, in case of an empty GRE match,
GRE mask was initialized with protocol full mask,
Instead of the empty mask with protocol mask equals zero.
The current fix handles the SWS case as before the GRE fix,
and HWS according to the latest fix.
Also, combined common logic.
Fixes: 25ab2cbba31d ("net/mlx5: fix GRE flow item translation for root table")
Signed-off-by: Maayan Kashani <mkashani@nvidia.com>
Acked-by: Bing Zhao <bingz@nvidia.com>
---
drivers/net/mlx5/mlx5_flow_dv.c | 29 ++++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 41ebe0b61a..633c41e358 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -9840,21 +9840,24 @@ flow_dv_translate_item_gre(void *key, const struct rte_flow_item *item,
uint16_t protocol_m, protocol_v;
- if (key_type & MLX5_SET_MATCHER_M) {
+ /* Common logic to SWS/HWS */
+ if (key_type & MLX5_SET_MATCHER_M)
MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol, 0xff);
- if (!gre_m)
- gre_m = &rte_flow_item_gre_mask;
- gre_v = gre_m;
- } else {
+ else
MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
- IPPROTO_GRE);
- if (!gre_v) {
- gre_v = &empty_gre;
- gre_m = &empty_gre;
- } else if (!gre_m) {
+ IPPROTO_GRE);
+ /* HWS mask logic only */
+ if (key_type & MLX5_SET_MATCHER_HS_M) {
+ if (!gre_m)
gre_m = &rte_flow_item_gre_mask;
- }
- if (key_type == MLX5_SET_MATCHER_HS_V)
- gre_m = gre_v;
+ gre_v = gre_m;
+ } else if (!gre_v) {
+ gre_v = &empty_gre;
+ gre_m = &empty_gre;
+ } else if (!gre_m) {
+ gre_m = &rte_flow_item_gre_mask;
}
+ /* SWS logic only */
+ if (key_type & MLX5_SET_MATCHER_SW_M)
+ gre_v = gre_m;
gre_crks_rsvd0_ver_m.value = rte_be_to_cpu_16(gre_m->c_rsvd0_ver);
gre_crks_rsvd0_ver_v.value = rte_be_to_cpu_16(gre_v->c_rsvd0_ver);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:42.556948676 +0000
+++ 0075-net-mlx5-fix-GRE-flow-match-with-SWS.patch 2025-02-12 17:29:34.501946831 +0000
@@ -1 +1 @@
-From 05db99c117e36c0cd28cda8f558309efd20055da Mon Sep 17 00:00:00 2001
+From c38557155bbb84aeb3987b3eae9b8c4f211cc1ca Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 05db99c117e36c0cd28cda8f558309efd20055da ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: fix deadlock when writing i225 register' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (73 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/mlx5: fix GRE flow match with SWS' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix infinite loop' " Kevin Traynor
` (45 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Dima Ruinskiy; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/76752353f74e08d3b6d101c1170d94bd2bfd640c
Thanks.
Kevin
---
From 76752353f74e08d3b6d101c1170d94bd2bfd640c Mon Sep 17 00:00:00 2001
From: Dima Ruinskiy <dima.ruinskiy@intel.com>
Date: Thu, 6 Feb 2025 16:08:24 +0000
Subject: [PATCH] net/igc/base: fix deadlock when writing i225 register
[ upstream commit f05363dceac78694638f86a8af1acd173ca9e3e0 ]
Currently, when writing GPY PHY registers, semaphore is acquired before
writing. However, if writing fails, semaphore is not released, causing a
deadlock down the line. Fix the issue by removing the premature return.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
.mailmap | 1 +
drivers/net/igc/base/igc_phy.c | 4 ----
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/.mailmap b/.mailmap
index eb4c65d194..45721bdf0f 100644
--- a/.mailmap
+++ b/.mailmap
@@ -359,4 +359,5 @@ Diana Wang <na.wang@corigine.com>
Didier Pallard <didier.pallard@6wind.com>
Dilshod Urazov <dilshod.urazov@oktetlabs.ru>
+Dima Ruinskiy <dima.ruinskiy@intel.com>
Ding Zhi <zhi.ding@6wind.com>
Diogo Behrens <diogo.behrens@huawei.com>
diff --git a/drivers/net/igc/base/igc_phy.c b/drivers/net/igc/base/igc_phy.c
index 2906bae21a..ddc2b6ecc1 100644
--- a/drivers/net/igc/base/igc_phy.c
+++ b/drivers/net/igc/base/igc_phy.c
@@ -4149,6 +4149,4 @@ s32 igc_write_phy_reg_gpy(struct igc_hw *hw, u32 offset, u16 data)
return ret_val;
ret_val = igc_write_phy_reg_mdic(hw, offset, data);
- if (ret_val)
- return ret_val;
hw->phy.ops.release(hw);
} else {
@@ -4183,6 +4181,4 @@ s32 igc_read_phy_reg_gpy(struct igc_hw *hw, u32 offset, u16 *data)
return ret_val;
ret_val = igc_read_phy_reg_mdic(hw, offset, data);
- if (ret_val)
- return ret_val;
hw->phy.ops.release(hw);
} else {
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:42.711342333 +0000
+++ 0076-net-igc-base-fix-deadlock-when-writing-i225-register.patch 2025-02-12 17:29:34.509946878 +0000
@@ -1 +1 @@
-From f05363dceac78694638f86a8af1acd173ca9e3e0 Mon Sep 17 00:00:00 2001
+From 76752353f74e08d3b6d101c1170d94bd2bfd640c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f05363dceac78694638f86a8af1acd173ca9e3e0 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -17,2 +18,2 @@
- .mailmap | 1 +
- drivers/net/intel/igc/base/igc_phy.c | 4 ----
+ .mailmap | 1 +
+ drivers/net/igc/base/igc_phy.c | 4 ----
@@ -22 +23 @@
-index dc3dd9e5a2..9ea6bd1df3 100644
+index eb4c65d194..45721bdf0f 100644
@@ -31 +32 @@
-diff --git a/drivers/net/intel/igc/base/igc_phy.c b/drivers/net/intel/igc/base/igc_phy.c
+diff --git a/drivers/net/igc/base/igc_phy.c b/drivers/net/igc/base/igc_phy.c
@@ -33,2 +34,2 @@
---- a/drivers/net/intel/igc/base/igc_phy.c
-+++ b/drivers/net/intel/igc/base/igc_phy.c
+--- a/drivers/net/igc/base/igc_phy.c
++++ b/drivers/net/igc/base/igc_phy.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: fix infinite loop' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (74 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: fix deadlock when writing i225 register' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix bitwise operation type' " Kevin Traynor
` (44 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Dima Ruinskiy; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/65e9bf364b4c3c6995d1595618a888ea06284b0a
Thanks.
Kevin
---
From 65e9bf364b4c3c6995d1595618a888ea06284b0a Mon Sep 17 00:00:00 2001
From: Dima Ruinskiy <dima.ruinskiy@intel.com>
Date: Thu, 6 Feb 2025 16:08:25 +0000
Subject: [PATCH] net/igc/base: fix infinite loop
[ upstream commit 532e495e4a20cf09e1f42d01bcbe782f7e2bb03f ]
When the driver fails to acquire HW semaphore, there is nothing that can
be done to address it, so just leave to avoid an infinite loop.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/igc/base/igc_i225.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index 17a1573064..8f01f8d918 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -334,6 +334,13 @@ void igc_release_swfw_sync_i225(struct igc_hw *hw, u16 mask)
DEBUGFUNC("igc_release_swfw_sync_i225");
- while (igc_get_hw_semaphore_i225(hw) != IGC_SUCCESS)
- ; /* Empty */
+ /* Releasing the resource requires first getting the HW semaphore.
+ * If we fail to get the semaphore, there is nothing we can do,
+ * except log an error and quit. We are not allowed to hang here
+ * indefinitely, as it may cause denial of service or system crash.
+ */
+ if (igc_get_hw_semaphore_i225(hw) != IGC_SUCCESS) {
+ DEBUGOUT("Failed to release SW_FW_SYNC.\n");
+ return;
+ }
swfw_sync = IGC_READ_REG(hw, IGC_SW_FW_SYNC);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:42.821750124 +0000
+++ 0077-net-igc-base-fix-infinite-loop.patch 2025-02-12 17:29:34.512946896 +0000
@@ -1 +1 @@
-From 532e495e4a20cf09e1f42d01bcbe782f7e2bb03f Mon Sep 17 00:00:00 2001
+From 65e9bf364b4c3c6995d1595618a888ea06284b0a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 532e495e4a20cf09e1f42d01bcbe782f7e2bb03f ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/igc/base/igc_i225.c | 11 +++++++++--
+ drivers/net/igc/base/igc_i225.c | 11 +++++++++--
@@ -19 +20 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: fix bitwise operation type' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (75 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: fix infinite loop' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: increase PHY power up delay' " Kevin Traynor
` (43 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Przemyslaw Ciesielski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/94556403667f98ca69b4a598688374526e64f675
Thanks.
Kevin
---
From 94556403667f98ca69b4a598688374526e64f675 Mon Sep 17 00:00:00 2001
From: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Date: Thu, 6 Feb 2025 16:08:26 +0000
Subject: [PATCH] net/igc/base: fix bitwise operation type
[ upstream commit bf51125b75b18a3a43439edb2c6e1f0b14793d51 ]
Static analysis has found type mismatch between mask and register value.
Fix the bitwise operation type to avoid potential issues.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/igc/base/igc_i225.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index 8f01f8d918..1277f59885 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -345,5 +345,5 @@ void igc_release_swfw_sync_i225(struct igc_hw *hw, u16 mask)
swfw_sync = IGC_READ_REG(hw, IGC_SW_FW_SYNC);
- swfw_sync &= ~mask;
+ swfw_sync &= ~(u32)mask;
IGC_WRITE_REG(hw, IGC_SW_FW_SYNC, swfw_sync);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:42.916571912 +0000
+++ 0078-net-igc-base-fix-bitwise-operation-type.patch 2025-02-12 17:29:34.513946902 +0000
@@ -1 +1 @@
-From bf51125b75b18a3a43439edb2c6e1f0b14793d51 Mon Sep 17 00:00:00 2001
+From 94556403667f98ca69b4a598688374526e64f675 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bf51125b75b18a3a43439edb2c6e1f0b14793d51 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/igc/base/igc_i225.c | 2 +-
+ drivers/net/igc/base/igc_i225.c | 2 +-
@@ -19 +20 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: increase PHY power up delay' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (76 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: fix bitwise operation type' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: reset loop variable' " Kevin Traynor
` (42 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Sasha Neftin; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/0f0b0bd3906def3ea2ec194f5602f7216aa80394
Thanks.
Kevin
---
From 0f0b0bd3906def3ea2ec194f5602f7216aa80394 Mon Sep 17 00:00:00 2001
From: Sasha Neftin <sasha.neftin@intel.com>
Date: Thu, 6 Feb 2025 16:08:27 +0000
Subject: [PATCH] net/igc/base: increase PHY power up delay
[ upstream commit a8a4acb46fa6bbe0a669b4eca0f73f112a7646ac ]
PHY specification for i225 requires 300 microsecond delay after power up
sequence, so increase the delay after power up to 300 microseconds.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/igc/base/igc_phy.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/igc/base/igc_phy.c b/drivers/net/igc/base/igc_phy.c
index ddc2b6ecc1..706f037f0e 100644
--- a/drivers/net/igc/base/igc_phy.c
+++ b/drivers/net/igc/base/igc_phy.c
@@ -3524,4 +3524,5 @@ void igc_power_up_phy_copper(struct igc_hw *hw)
mii_reg &= ~MII_CR_POWER_DOWN;
hw->phy.ops.write_reg(hw, PHY_CONTROL, mii_reg);
+ usec_delay(300);
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:43.013294836 +0000
+++ 0079-net-igc-base-increase-PHY-power-up-delay.patch 2025-02-12 17:29:34.517946926 +0000
@@ -1 +1 @@
-From a8a4acb46fa6bbe0a669b4eca0f73f112a7646ac Mon Sep 17 00:00:00 2001
+From 0f0b0bd3906def3ea2ec194f5602f7216aa80394 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a8a4acb46fa6bbe0a669b4eca0f73f112a7646ac ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/igc/base/igc_phy.c | 1 +
+ drivers/net/igc/base/igc_phy.c | 1 +
@@ -19 +20 @@
-diff --git a/drivers/net/intel/igc/base/igc_phy.c b/drivers/net/intel/igc/base/igc_phy.c
+diff --git a/drivers/net/igc/base/igc_phy.c b/drivers/net/igc/base/igc_phy.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/igc/base/igc_phy.c
-+++ b/drivers/net/intel/igc/base/igc_phy.c
+--- a/drivers/net/igc/base/igc_phy.c
++++ b/drivers/net/igc/base/igc_phy.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: reset loop variable' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (77 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: increase PHY power up delay' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix LTR for i225' " Kevin Traynor
` (41 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Sasha Neftin; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/916dc6644e6cebd65eb7da685631771b9f51df44
Thanks.
Kevin
---
From 916dc6644e6cebd65eb7da685631771b9f51df44 Mon Sep 17 00:00:00 2001
From: Sasha Neftin <sasha.neftin@intel.com>
Date: Thu, 6 Feb 2025 16:08:28 +0000
Subject: [PATCH] net/igc/base: reset loop variable
[ upstream commit 60dca8e0f6b2d8526dc9dc8b54e59b5d68964e8e ]
When writing to Shadow RAM, we set rev_val on success, but since the
value is already set to success initially, it is possible for none of
the writes to be successful, yet ret_val will still be set to success.
Fix it by resetting the ret_val to failure before every loop iteration.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/igc/base/igc_i225.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index 1277f59885..003c060215 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -566,4 +566,5 @@ static s32 __igc_write_nvm_srwr(struct igc_hw *hw, u16 offset, u16 words,
for (i = 0; i < words; i++) {
+ ret_val = -IGC_ERR_NVM;
eewr = ((offset + i) << IGC_NVM_RW_ADDR_SHIFT) |
(data[i] << IGC_NVM_RW_REG_DATA) |
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:43.127366512 +0000
+++ 0080-net-igc-base-reset-loop-variable.patch 2025-02-12 17:29:34.519946938 +0000
@@ -1 +1 @@
-From 60dca8e0f6b2d8526dc9dc8b54e59b5d68964e8e Mon Sep 17 00:00:00 2001
+From 916dc6644e6cebd65eb7da685631771b9f51df44 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 60dca8e0f6b2d8526dc9dc8b54e59b5d68964e8e ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
- drivers/net/intel/igc/base/igc_i225.c | 1 +
+ drivers/net/igc/base/igc_i225.c | 1 +
@@ -21 +22 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
@@ -23,2 +24,2 @@
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: fix LTR for i225' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (78 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: reset loop variable' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix typo in LTR calculation' " Kevin Traynor
` (40 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Sasha Neftin; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/00c6f1273d61feb7350d7171bd93c7552899937a
Thanks.
Kevin
---
From 00c6f1273d61feb7350d7171bd93c7552899937a Mon Sep 17 00:00:00 2001
From: Sasha Neftin <sasha.neftin@intel.com>
Date: Thu, 6 Feb 2025 16:08:29 +0000
Subject: [PATCH] net/igc/base: fix LTR for i225
[ upstream commit 6a304bc65269cfd86193663e9b94c73299b54d00 ]
i225 specification recommends minus 1 microsecond from a value
calculated for a LTR. Fix the calculation to match spec.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/igc/base/igc_i225.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index 003c060215..e701d00f80 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -1072,5 +1072,7 @@ static s32 igc_set_ltr_i225(struct igc_hw *hw, bool link)
IGC_LTRMAXV_SCALE_32768;
ltr_min /= scale_min == IGC_LTRMINV_SCALE_1024 ? 1024 : 32768;
+ ltr_min -= 1;
ltr_max /= scale_max == IGC_LTRMAXV_SCALE_1024 ? 1024 : 32768;
+ ltr_max -= 1;
/* Only write the LTR thresholds if they differ from before. */
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:43.237238356 +0000
+++ 0081-net-igc-base-fix-LTR-for-i225.patch 2025-02-12 17:29:34.520946944 +0000
@@ -1 +1 @@
-From 6a304bc65269cfd86193663e9b94c73299b54d00 Mon Sep 17 00:00:00 2001
+From 00c6f1273d61feb7350d7171bd93c7552899937a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6a304bc65269cfd86193663e9b94c73299b54d00 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/igc/base/igc_i225.c | 2 ++
+ drivers/net/igc/base/igc_i225.c | 2 ++
@@ -19 +20 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: fix typo in LTR calculation' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (79 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: fix LTR for i225' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix unused value' " Kevin Traynor
` (39 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Dima Ruinskiy; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/d488f162e79c84d320942c6e79658ec919b598f3
Thanks.
Kevin
---
From d488f162e79c84d320942c6e79658ec919b598f3 Mon Sep 17 00:00:00 2001
From: Dima Ruinskiy <dima.ruinskiy@intel.com>
Date: Thu, 6 Feb 2025 16:08:30 +0000
Subject: [PATCH] net/igc/base: fix typo in LTR calculation
[ upstream commit ce11274c5c7188322cc141cdce8cd0680e76f79f ]
The LTR maximum value was incorrectly written using the scale from the
LTR minimum value. This would cause incorrect values to be sent, in
cases where the initial calculation leads to different min/max scales.
Fix the typo to correctly calculate the LTR maximum value.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/igc/base/igc_i225.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index e701d00f80..c7c2ec8ffe 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -1087,5 +1087,5 @@ static s32 igc_set_ltr_i225(struct igc_hw *hw, bool link)
if (ltr_max != (ltrv & IGC_LTRMAXV_LTRV_MASK)) {
ltrv = IGC_LTRMAXV_LSNP_REQ | ltr_max |
- (scale_min << IGC_LTRMAXV_SCALE_SHIFT);
+ (scale_max << IGC_LTRMAXV_SCALE_SHIFT);
IGC_WRITE_REG(hw, IGC_LTRMAXV, ltrv);
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:43.331958620 +0000
+++ 0082-net-igc-base-fix-typo-in-LTR-calculation.patch 2025-02-12 17:29:34.522946956 +0000
@@ -1 +1 @@
-From ce11274c5c7188322cc141cdce8cd0680e76f79f Mon Sep 17 00:00:00 2001
+From d488f162e79c84d320942c6e79658ec919b598f3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ce11274c5c7188322cc141cdce8cd0680e76f79f ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
- drivers/net/intel/igc/base/igc_i225.c | 2 +-
+ drivers/net/igc/base/igc_i225.c | 2 +-
@@ -21 +22 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
@@ -23,2 +24,2 @@
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: fix unused value' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (80 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: fix typo in LTR calculation' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix semaphore timeout " Kevin Traynor
` (38 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Dima Ruinskiy; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/1e1ea5adb29f015539fb55fa17b2e2d8f859bce3
Thanks.
Kevin
---
From 1e1ea5adb29f015539fb55fa17b2e2d8f859bce3 Mon Sep 17 00:00:00 2001
From: Dima Ruinskiy <dima.ruinskiy@intel.com>
Date: Thu, 6 Feb 2025 16:08:31 +0000
Subject: [PATCH] net/igc/base: fix unused value
[ upstream commit c506cc8305b4ca17bae903a54daaeaf5b7005038 ]
Static analysis has reported that when there is no get link status
callback function, the value set in the if condition is not used and
gets overwritten in the "out" section of the code. Fix by not setting
the variable.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/igc/base/igc_i225.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index c7c2ec8ffe..23c68a3948 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -1115,8 +1115,6 @@ s32 igc_check_for_link_i225(struct igc_hw *hw)
* a Link Status Change or Rx Sequence Error interrupt.
*/
- if (!mac->get_link_status) {
- ret_val = IGC_SUCCESS;
+ if (!mac->get_link_status)
goto out;
- }
/* First we want to see if the MII Status Register reports
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:43.444579740 +0000
+++ 0083-net-igc-base-fix-unused-value.patch 2025-02-12 17:29:34.524946968 +0000
@@ -1 +1 @@
-From c506cc8305b4ca17bae903a54daaeaf5b7005038 Mon Sep 17 00:00:00 2001
+From 1e1ea5adb29f015539fb55fa17b2e2d8f859bce3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c506cc8305b4ca17bae903a54daaeaf5b7005038 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
- drivers/net/intel/igc/base/igc_i225.c | 4 +---
+ drivers/net/igc/base/igc_i225.c | 4 +---
@@ -21 +22 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
@@ -23,2 +24,2 @@
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: fix semaphore timeout value' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (81 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: fix unused value' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix iterator type' " Kevin Traynor
` (37 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Pawel Malinowski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/53b1a0379f4f7607b7d0799f6de57cd458d50d65
Thanks.
Kevin
---
From 53b1a0379f4f7607b7d0799f6de57cd458d50d65 Mon Sep 17 00:00:00 2001
From: Pawel Malinowski <pawel.malinowski@intel.com>
Date: Thu, 6 Feb 2025 16:08:32 +0000
Subject: [PATCH] net/igc/base: fix semaphore timeout value
[ upstream commit 7caabb9834bc9596190c03279eae8980b1c24800 ]
According to datasheet, software ownership of SWSM.SWESMBI bit should
not exceed 100ms. Current implementation caused incorrect timeout
counter values, where each iteration equals 50us delay. Because of that,
driver was allowed to wait for semaphore even for 1.5s. This might
trigger DPC timeout.
This implementation hardcodes value to 2000, which multiplied by 50us,
gives 100ms of possible wait time.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Pawel Malinowski <pawel.malinowski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/igc/base/igc_defines.h | 1 +
drivers/net/igc/base/igc_i225.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/igc/base/igc_defines.h b/drivers/net/igc/base/igc_defines.h
index 280570b157..3cb2f430c5 100644
--- a/drivers/net/igc/base/igc_defines.h
+++ b/drivers/net/igc/base/igc_defines.h
@@ -526,4 +526,5 @@
#define IGC_SWSM_SMBI 0x00000001 /* Driver Semaphore bit */
#define IGC_SWSM_SWESMBI 0x00000002 /* FW Semaphore bit */
+#define IGC_SWSM_TIMEOUT 2000 /* Driver Semaphore max timeout counter */
#define IGC_SWSM_DRV_LOAD 0x00000008 /* Driver Loaded Bit */
diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index 23c68a3948..7352ba240a 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -389,5 +389,5 @@ static s32 igc_get_hw_semaphore_i225(struct igc_hw *hw)
{
u32 swsm;
- s32 timeout = hw->nvm.word_size + 1;
+ s32 timeout = IGC_SWSM_TIMEOUT;
s32 i = 0;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:43.562443500 +0000
+++ 0084-net-igc-base-fix-semaphore-timeout-value.patch 2025-02-12 17:29:34.528946992 +0000
@@ -1 +1 @@
-From 7caabb9834bc9596190c03279eae8980b1c24800 Mon Sep 17 00:00:00 2001
+From 53b1a0379f4f7607b7d0799f6de57cd458d50d65 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7caabb9834bc9596190c03279eae8980b1c24800 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -22,2 +23,2 @@
- drivers/net/intel/igc/base/igc_defines.h | 1 +
- drivers/net/intel/igc/base/igc_i225.c | 2 +-
+ drivers/net/igc/base/igc_defines.h | 1 +
+ drivers/net/igc/base/igc_i225.c | 2 +-
@@ -26 +27 @@
-diff --git a/drivers/net/intel/igc/base/igc_defines.h b/drivers/net/intel/igc/base/igc_defines.h
+diff --git a/drivers/net/igc/base/igc_defines.h b/drivers/net/igc/base/igc_defines.h
@@ -28,2 +29,2 @@
---- a/drivers/net/intel/igc/base/igc_defines.h
-+++ b/drivers/net/intel/igc/base/igc_defines.h
+--- a/drivers/net/igc/base/igc_defines.h
++++ b/drivers/net/igc/base/igc_defines.h
@@ -36 +37 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
@@ -38,2 +39,2 @@
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: fix iterator type' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (82 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: fix semaphore timeout " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix MAC address hash bit shift' " Kevin Traynor
` (36 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Amir Avivi; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/a2c638ce0b1aaa25735476222b5eb769c6cced74
Thanks.
Kevin
---
From a2c638ce0b1aaa25735476222b5eb769c6cced74 Mon Sep 17 00:00:00 2001
From: Amir Avivi <amir.avivi@intel.com>
Date: Thu, 6 Feb 2025 16:08:33 +0000
Subject: [PATCH] net/igc/base: fix iterator type
[ upstream commit c7da9dab82190564d68f0d928ba3e381dcc74d9f ]
Fix static analysis warning about comparison between types of
incompatible width, which might lead to an infinite loop due to
overflow.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Amir Avivi <amir.avivi@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
.mailmap | 1 +
drivers/net/igc/base/igc_phy.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/.mailmap b/.mailmap
index 45721bdf0f..fbfcfc40ef 100644
--- a/.mailmap
+++ b/.mailmap
@@ -85,4 +85,5 @@ Amine Kherbouche <amine.kherbouche@6wind.com>
Amin Tootoonchian <amint@icsi.berkeley.edu>
Ami Sabo <amis@radware.com>
+Amir Avivi <amir.avivi@intel.com>
Amit Bernstein <amitbern@amazon.com>
Amit Gupta <agupta3@marvell.com>
diff --git a/drivers/net/igc/base/igc_phy.c b/drivers/net/igc/base/igc_phy.c
index 706f037f0e..dd56b994af 100644
--- a/drivers/net/igc/base/igc_phy.c
+++ b/drivers/net/igc/base/igc_phy.c
@@ -2367,5 +2367,6 @@ s32 igc_phy_has_link_generic(struct igc_hw *hw, u32 iterations,
{
s32 ret_val = IGC_SUCCESS;
- u16 i, phy_status;
+ u16 phy_status;
+ u32 i;
DEBUGFUNC("igc_phy_has_link_generic");
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:43.668756337 +0000
+++ 0085-net-igc-base-fix-iterator-type.patch 2025-02-12 17:29:34.536947039 +0000
@@ -1 +1 @@
-From c7da9dab82190564d68f0d928ba3e381dcc74d9f Mon Sep 17 00:00:00 2001
+From a2c638ce0b1aaa25735476222b5eb769c6cced74 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c7da9dab82190564d68f0d928ba3e381dcc74d9f ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -17,2 +18,2 @@
- .mailmap | 1 +
- drivers/net/intel/igc/base/igc_phy.c | 3 ++-
+ .mailmap | 1 +
+ drivers/net/igc/base/igc_phy.c | 3 ++-
@@ -22 +23 @@
-index 9ea6bd1df3..ab03985acd 100644
+index 45721bdf0f..fbfcfc40ef 100644
@@ -31 +32 @@
-diff --git a/drivers/net/intel/igc/base/igc_phy.c b/drivers/net/intel/igc/base/igc_phy.c
+diff --git a/drivers/net/igc/base/igc_phy.c b/drivers/net/igc/base/igc_phy.c
@@ -33,2 +34,2 @@
---- a/drivers/net/intel/igc/base/igc_phy.c
-+++ b/drivers/net/intel/igc/base/igc_phy.c
+--- a/drivers/net/igc/base/igc_phy.c
++++ b/drivers/net/igc/base/igc_phy.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: fix MAC address hash bit shift' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (83 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: fix iterator type' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix data type in MAC hash' " Kevin Traynor
` (35 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Aleksandr Loktionov; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/4e2a4f3e7c6ae7510829ce54884d98e3c3c0cbe1
Thanks.
Kevin
---
From 4e2a4f3e7c6ae7510829ce54884d98e3c3c0cbe1 Mon Sep 17 00:00:00 2001
From: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Date: Thu, 6 Feb 2025 16:08:34 +0000
Subject: [PATCH] net/igc/base: fix MAC address hash bit shift
[ upstream commit bccccacfb6f6f2e84a24c6733c7e3d4af05f73b5 ]
In e1000_hash_mc_addr_generic() the expression:
"mc_addr[4] >> 8 - bit_shift", right shifting "mc_addr[4]"
shift by more than 7 bits always yields zero, so hash becomes not so
different. Add initialization with bit_shift = 1, and add a loop
condition to ensure bit_shift will be always in [1..8] range.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/igc/base/igc_mac.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/igc/base/igc_mac.c b/drivers/net/igc/base/igc_mac.c
index 3cd6506e5e..c69f8ac73b 100644
--- a/drivers/net/igc/base/igc_mac.c
+++ b/drivers/net/igc/base/igc_mac.c
@@ -487,5 +487,5 @@ u32 igc_hash_mc_addr_generic(struct igc_hw *hw, u8 *mc_addr)
{
u32 hash_value, hash_mask;
- u8 bit_shift = 0;
+ u8 bit_shift = 1;
DEBUGFUNC("igc_hash_mc_addr_generic");
@@ -497,5 +497,5 @@ u32 igc_hash_mc_addr_generic(struct igc_hw *hw, u8 *mc_addr)
* where 0xFF would still fall within the hash mask.
*/
- while (hash_mask >> bit_shift != 0xFF)
+ while (hash_mask >> bit_shift != 0xFF && bit_shift < 4)
bit_shift++;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:43.792290417 +0000
+++ 0086-net-igc-base-fix-MAC-address-hash-bit-shift.patch 2025-02-12 17:29:34.538947051 +0000
@@ -1 +1 @@
-From bccccacfb6f6f2e84a24c6733c7e3d4af05f73b5 Mon Sep 17 00:00:00 2001
+From 4e2a4f3e7c6ae7510829ce54884d98e3c3c0cbe1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bccccacfb6f6f2e84a24c6733c7e3d4af05f73b5 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
- drivers/net/intel/igc/base/igc_mac.c | 4 ++--
+ drivers/net/igc/base/igc_mac.c | 4 ++--
@@ -24 +25 @@
-diff --git a/drivers/net/intel/igc/base/igc_mac.c b/drivers/net/intel/igc/base/igc_mac.c
+diff --git a/drivers/net/igc/base/igc_mac.c b/drivers/net/igc/base/igc_mac.c
@@ -26,2 +27,2 @@
---- a/drivers/net/intel/igc/base/igc_mac.c
-+++ b/drivers/net/intel/igc/base/igc_mac.c
+--- a/drivers/net/igc/base/igc_mac.c
++++ b/drivers/net/igc/base/igc_mac.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: fix data type in MAC hash' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (84 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: fix MAC address hash bit shift' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix NVM data type in bit shift' " Kevin Traynor
` (34 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Barbara Skobiej; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/3bb018be50bd0b1759c06f44a4dd44dedf910b4d
Thanks.
Kevin
---
From 3bb018be50bd0b1759c06f44a4dd44dedf910b4d Mon Sep 17 00:00:00 2001
From: Barbara Skobiej <barbara.skobiej@intel.com>
Date: Thu, 6 Feb 2025 16:08:35 +0000
Subject: [PATCH] net/igc/base: fix data type in MAC hash
[ upstream commit cad5c51ec3a0e965d6d4bb98166890499597f23a ]
One of the bit shifts in MAC hash calculation triggers a static analysis
warning about a potential overflow. Fix the data type to avoid this.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Barbara Skobiej <barbara.skobiej@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/igc/base/igc_mac.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/igc/base/igc_mac.c b/drivers/net/igc/base/igc_mac.c
index c69f8ac73b..cfb74a6443 100644
--- a/drivers/net/igc/base/igc_mac.c
+++ b/drivers/net/igc/base/igc_mac.c
@@ -540,6 +540,8 @@ u32 igc_hash_mc_addr_generic(struct igc_hw *hw, u8 *mc_addr)
}
- hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
- (((u16)mc_addr[5]) << bit_shift)));
+ hash_value = (u32)mc_addr[4];
+ hash_value = hash_value >> (8 - bit_shift);
+ hash_value |= (((u32)mc_addr[5]) << bit_shift);
+ hash_value &= hash_mask;
return hash_value;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:43.883987395 +0000
+++ 0087-net-igc-base-fix-data-type-in-MAC-hash.patch 2025-02-12 17:29:34.543947081 +0000
@@ -1 +1 @@
-From cad5c51ec3a0e965d6d4bb98166890499597f23a Mon Sep 17 00:00:00 2001
+From 3bb018be50bd0b1759c06f44a4dd44dedf910b4d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cad5c51ec3a0e965d6d4bb98166890499597f23a ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/igc/base/igc_mac.c | 6 ++++--
+ drivers/net/igc/base/igc_mac.c | 6 ++++--
@@ -19 +20 @@
-diff --git a/drivers/net/intel/igc/base/igc_mac.c b/drivers/net/intel/igc/base/igc_mac.c
+diff --git a/drivers/net/igc/base/igc_mac.c b/drivers/net/igc/base/igc_mac.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/igc/base/igc_mac.c
-+++ b/drivers/net/intel/igc/base/igc_mac.c
+--- a/drivers/net/igc/base/igc_mac.c
++++ b/drivers/net/igc/base/igc_mac.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/igc/base: fix NVM data type in bit shift' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (85 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: fix data type in MAC hash' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/e1000/base: fix semaphore timeout value' " Kevin Traynor
` (33 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Przemyslaw Ciesielski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/accc5041393d0693307ac3c7c097555339c8369e
Thanks.
Kevin
---
From accc5041393d0693307ac3c7c097555339c8369e Mon Sep 17 00:00:00 2001
From: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Date: Thu, 6 Feb 2025 16:08:36 +0000
Subject: [PATCH] net/igc/base: fix NVM data type in bit shift
[ upstream commit d6ad4cdad361558bfb2c04112bd6650debbc9c7f ]
There is a static analysis warning due to wrong data types being used
for NVM read data shifts. Fix it via explicit type cast.
Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")
Signed-off-by: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/igc/base/igc_nvm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/igc/base/igc_nvm.c b/drivers/net/igc/base/igc_nvm.c
index a7c901ab56..d37a3ffb0e 100644
--- a/drivers/net/igc/base/igc_nvm.c
+++ b/drivers/net/igc/base/igc_nvm.c
@@ -927,5 +927,5 @@ s32 igc_read_pba_num_generic(struct igc_hw *hw, u32 *pba_num)
return -IGC_NOT_IMPLEMENTED;
}
- *pba_num = (u32)(nvm_data << 16);
+ *pba_num = ((u32)nvm_data << 16);
ret_val = hw->nvm.ops.read(hw, NVM_PBA_OFFSET_1, 1, &nvm_data);
@@ -934,5 +934,5 @@ s32 igc_read_pba_num_generic(struct igc_hw *hw, u32 *pba_num)
return ret_val;
}
- *pba_num |= nvm_data;
+ *pba_num |= (u32)nvm_data;
return IGC_SUCCESS;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:43.988785243 +0000
+++ 0088-net-igc-base-fix-NVM-data-type-in-bit-shift.patch 2025-02-12 17:29:34.545947093 +0000
@@ -1 +1 @@
-From d6ad4cdad361558bfb2c04112bd6650debbc9c7f Mon Sep 17 00:00:00 2001
+From accc5041393d0693307ac3c7c097555339c8369e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d6ad4cdad361558bfb2c04112bd6650debbc9c7f ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/igc/base/igc_nvm.c | 4 ++--
+ drivers/net/igc/base/igc_nvm.c | 4 ++--
@@ -19 +20 @@
-diff --git a/drivers/net/intel/igc/base/igc_nvm.c b/drivers/net/intel/igc/base/igc_nvm.c
+diff --git a/drivers/net/igc/base/igc_nvm.c b/drivers/net/igc/base/igc_nvm.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/igc/base/igc_nvm.c
-+++ b/drivers/net/intel/igc/base/igc_nvm.c
+--- a/drivers/net/igc/base/igc_nvm.c
++++ b/drivers/net/igc/base/igc_nvm.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/e1000/base: fix semaphore timeout value' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (86 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/igc/base: fix NVM data type in bit shift' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/e1000/base: correct mPHY access logic' " Kevin Traynor
` (32 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Pawel Malinowski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/dd2a3409a576403fd8a7dfc89a99800a14e6e60b
Thanks.
Kevin
---
From dd2a3409a576403fd8a7dfc89a99800a14e6e60b Mon Sep 17 00:00:00 2001
From: Pawel Malinowski <pawel.malinowski@intel.com>
Date: Thu, 6 Feb 2025 16:08:37 +0000
Subject: [PATCH] net/e1000/base: fix semaphore timeout value
[ upstream commit c8bcaf0f2a02995b447c121e860fd550b9c55114 ]
According to datasheet, software ownership of SWSM.SWESMBI bit should
not exceed 100ms. Current implementation caused incorrect timeout
counter values, where each iteration equals 50us delay. Because of that
driver was allowed to wait for semaphore even for 1.5s. This might
trigger DPC timeout.
This implementation hardcodes value to 2000, which multiplied by 50us,
gives 100ms of possible wait time.
Fixes: af75078fece3 ("first public release")
Signed-off-by: Pawel Malinowski <pawel.malinowski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/e1000/base/e1000_defines.h | 1 +
drivers/net/e1000/base/e1000_mac.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/e1000/base/e1000_defines.h b/drivers/net/e1000/base/e1000_defines.h
index 3fbb6c8ea4..97cc2797b2 100644
--- a/drivers/net/e1000/base/e1000_defines.h
+++ b/drivers/net/e1000/base/e1000_defines.h
@@ -505,4 +505,5 @@
#define E1000_SWSM_SMBI 0x00000001 /* Driver Semaphore bit */
#define E1000_SWSM_SWESMBI 0x00000002 /* FW Semaphore bit */
+#define E1000_SWSM_TIMEOUT 2000 /* Driver Semaphore max timeout counter */
#define E1000_SWSM_DRV_LOAD 0x00000008 /* Driver Loaded Bit */
diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
index d3b3a6bac9..cf0a9f21e1 100644
--- a/drivers/net/e1000/base/e1000_mac.c
+++ b/drivers/net/e1000/base/e1000_mac.c
@@ -1689,5 +1689,5 @@ s32 e1000_get_hw_semaphore_generic(struct e1000_hw *hw)
{
u32 swsm;
- s32 timeout = hw->nvm.word_size + 1;
+ s32 timeout = E1000_SWSM_TIMEOUT;
s32 i = 0;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:44.090109931 +0000
+++ 0089-net-e1000-base-fix-semaphore-timeout-value.patch 2025-02-12 17:29:34.550947123 +0000
@@ -1 +1 @@
-From c8bcaf0f2a02995b447c121e860fd550b9c55114 Mon Sep 17 00:00:00 2001
+From dd2a3409a576403fd8a7dfc89a99800a14e6e60b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c8bcaf0f2a02995b447c121e860fd550b9c55114 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -22,2 +23,2 @@
- drivers/net/intel/e1000/base/e1000_defines.h | 1 +
- drivers/net/intel/e1000/base/e1000_mac.c | 2 +-
+ drivers/net/e1000/base/e1000_defines.h | 1 +
+ drivers/net/e1000/base/e1000_mac.c | 2 +-
@@ -26 +27 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_defines.h b/drivers/net/intel/e1000/base/e1000_defines.h
+diff --git a/drivers/net/e1000/base/e1000_defines.h b/drivers/net/e1000/base/e1000_defines.h
@@ -28,2 +29,2 @@
---- a/drivers/net/intel/e1000/base/e1000_defines.h
-+++ b/drivers/net/intel/e1000/base/e1000_defines.h
+--- a/drivers/net/e1000/base/e1000_defines.h
++++ b/drivers/net/e1000/base/e1000_defines.h
@@ -36 +37 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_mac.c b/drivers/net/intel/e1000/base/e1000_mac.c
+diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
@@ -38,2 +39,2 @@
---- a/drivers/net/intel/e1000/base/e1000_mac.c
-+++ b/drivers/net/intel/e1000/base/e1000_mac.c
+--- a/drivers/net/e1000/base/e1000_mac.c
++++ b/drivers/net/e1000/base/e1000_mac.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/e1000/base: correct mPHY access logic' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (87 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/e1000/base: fix semaphore timeout value' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/e1000/base: fix iterator type' " Kevin Traynor
` (31 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Anatoly Burakov; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/dddb2f7b48c88161476524da855223dfeac0da17
Thanks.
Kevin
---
From dddb2f7b48c88161476524da855223dfeac0da17 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Thu, 6 Feb 2025 16:08:38 +0000
Subject: [PATCH] net/e1000/base: correct mPHY access logic
[ upstream commit 62adddef81d4ddb9789e9f0e5a0899b399bd5d8d ]
The original code had incorrect indentation, and the fix was applied to
follow the indentation, i.e. adding brackets making the indentation
valid. However, the actual issue was incorrect indentation and not
missing braces, so the fix was incorrect.
This fix restores the original logic and corrects indentation.
Fixes: d5e39d1ca460 ("net/e1000/base: fix build with gcc 6")
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/e1000/base/e1000_phy.c | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/drivers/net/e1000/base/e1000_phy.c b/drivers/net/e1000/base/e1000_phy.c
index 62d0be5080..208fb3f81b 100644
--- a/drivers/net/e1000/base/e1000_phy.c
+++ b/drivers/net/e1000/base/e1000_phy.c
@@ -4135,11 +4135,10 @@ s32 e1000_read_phy_reg_mphy(struct e1000_hw *hw, u32 address, u32 *data)
/* Disable access to mPHY if it was originally disabled */
- if (locked) {
+ if (locked)
ready = e1000_is_mphy_ready(hw);
- if (!ready)
- return -E1000_ERR_PHY;
- E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
- E1000_MPHY_DIS_ACCESS);
- }
+ if (!ready)
+ return -E1000_ERR_PHY;
+ E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
+ E1000_MPHY_DIS_ACCESS);
return E1000_SUCCESS;
@@ -4201,11 +4200,10 @@ s32 e1000_write_phy_reg_mphy(struct e1000_hw *hw, u32 address, u32 data,
/* Disable access to mPHY if it was originally disabled */
- if (locked) {
+ if (locked)
ready = e1000_is_mphy_ready(hw);
- if (!ready)
- return -E1000_ERR_PHY;
- E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
- E1000_MPHY_DIS_ACCESS);
- }
+ if (!ready)
+ return -E1000_ERR_PHY;
+ E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
+ E1000_MPHY_DIS_ACCESS);
return E1000_SUCCESS;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:44.195561734 +0000
+++ 0090-net-e1000-base-correct-mPHY-access-logic.patch 2025-02-12 17:29:34.556947159 +0000
@@ -1 +1 @@
-From 62adddef81d4ddb9789e9f0e5a0899b399bd5d8d Mon Sep 17 00:00:00 2001
+From dddb2f7b48c88161476524da855223dfeac0da17 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 62adddef81d4ddb9789e9f0e5a0899b399bd5d8d ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
- drivers/net/intel/e1000/base/e1000_phy.c | 22 ++++++++++------------
+ drivers/net/e1000/base/e1000_phy.c | 22 ++++++++++------------
@@ -22 +23 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_phy.c b/drivers/net/intel/e1000/base/e1000_phy.c
+diff --git a/drivers/net/e1000/base/e1000_phy.c b/drivers/net/e1000/base/e1000_phy.c
@@ -24,2 +25,2 @@
---- a/drivers/net/intel/e1000/base/e1000_phy.c
-+++ b/drivers/net/intel/e1000/base/e1000_phy.c
+--- a/drivers/net/e1000/base/e1000_phy.c
++++ b/drivers/net/e1000/base/e1000_phy.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/e1000/base: fix iterator type' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (88 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/e1000/base: correct mPHY access logic' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/e1000/base: fix MAC address hash bit shift' " Kevin Traynor
` (30 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Amir Avivi; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/b7d74fdd637a11e5eca18569bfbfe12118de1fbd
Thanks.
Kevin
---
From b7d74fdd637a11e5eca18569bfbfe12118de1fbd Mon Sep 17 00:00:00 2001
From: Amir Avivi <amir.avivi@intel.com>
Date: Thu, 6 Feb 2025 16:08:39 +0000
Subject: [PATCH] net/e1000/base: fix iterator type
[ upstream commit 3d3605399170d5871ba80448de236f7acbbe8f98 ]
Fix static analysis warning about comparison between types of
incompatible width, which might lead to an infinite loop due to
overflow.
Fixes: af75078fece3 ("first public release")
Signed-off-by: Amir Avivi <amir.avivi@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/e1000/base/e1000_phy.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/e1000/base/e1000_phy.c b/drivers/net/e1000/base/e1000_phy.c
index 208fb3f81b..b4aba9e4e3 100644
--- a/drivers/net/e1000/base/e1000_phy.c
+++ b/drivers/net/e1000/base/e1000_phy.c
@@ -2334,5 +2334,6 @@ s32 e1000_phy_has_link_generic(struct e1000_hw *hw, u32 iterations,
{
s32 ret_val = E1000_SUCCESS;
- u16 i, phy_status;
+ u16 phy_status;
+ u32 i;
DEBUGFUNC("e1000_phy_has_link_generic");
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:44.299460876 +0000
+++ 0091-net-e1000-base-fix-iterator-type.patch 2025-02-12 17:29:34.559947177 +0000
@@ -1 +1 @@
-From 3d3605399170d5871ba80448de236f7acbbe8f98 Mon Sep 17 00:00:00 2001
+From b7d74fdd637a11e5eca18569bfbfe12118de1fbd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3d3605399170d5871ba80448de236f7acbbe8f98 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
- drivers/net/intel/e1000/base/e1000_phy.c | 3 ++-
+ drivers/net/e1000/base/e1000_phy.c | 3 ++-
@@ -20 +21 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_phy.c b/drivers/net/intel/e1000/base/e1000_phy.c
+diff --git a/drivers/net/e1000/base/e1000_phy.c b/drivers/net/e1000/base/e1000_phy.c
@@ -22,2 +23,2 @@
---- a/drivers/net/intel/e1000/base/e1000_phy.c
-+++ b/drivers/net/intel/e1000/base/e1000_phy.c
+--- a/drivers/net/e1000/base/e1000_phy.c
++++ b/drivers/net/e1000/base/e1000_phy.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/e1000/base: fix MAC address hash bit shift' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (89 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/e1000/base: fix iterator type' " Kevin Traynor
@ 2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: fix data type in MAC hash' " Kevin Traynor
` (29 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:58 UTC (permalink / raw)
To: Aleksandr Loktionov; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/599c0373d9175635be4e8d3ae69565fcce6026b4
Thanks.
Kevin
---
From 599c0373d9175635be4e8d3ae69565fcce6026b4 Mon Sep 17 00:00:00 2001
From: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Date: Thu, 6 Feb 2025 16:08:40 +0000
Subject: [PATCH] net/e1000/base: fix MAC address hash bit shift
[ upstream commit 1749e662f68ba6571ed81cd264cffd1107abc307 ]
In e1000_hash_mc_addr_generic() the expression:
"mc_addr[4] >> 8 - bit_shift", right shifting "mc_addr[4]"
shift by more than 7 bits always yields zero, so hash becomes not so
different. Add initialization with bit_shift = 1, and add a loop
condition to ensure bit_shift will be always in [1..8] range.
Fixes: af75078fece3 ("first public release")
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/e1000/base/e1000_mac.c | 4 ++--
drivers/net/e1000/base/e1000_vf.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
index cf0a9f21e1..2b8482e114 100644
--- a/drivers/net/e1000/base/e1000_mac.c
+++ b/drivers/net/e1000/base/e1000_mac.c
@@ -489,5 +489,5 @@ u32 e1000_hash_mc_addr_generic(struct e1000_hw *hw, u8 *mc_addr)
{
u32 hash_value, hash_mask;
- u8 bit_shift = 0;
+ u8 bit_shift = 1;
DEBUGFUNC("e1000_hash_mc_addr_generic");
@@ -499,5 +499,5 @@ u32 e1000_hash_mc_addr_generic(struct e1000_hw *hw, u8 *mc_addr)
* where 0xFF would still fall within the hash mask.
*/
- while (hash_mask >> bit_shift != 0xFF)
+ while (hash_mask >> bit_shift != 0xFF && bit_shift < 4)
bit_shift++;
diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
index 44ebe07ee4..3d0383fcbb 100644
--- a/drivers/net/e1000/base/e1000_vf.c
+++ b/drivers/net/e1000/base/e1000_vf.c
@@ -332,5 +332,5 @@ STATIC u32 e1000_hash_mc_addr_vf(struct e1000_hw *hw, u8 *mc_addr)
{
u32 hash_value, hash_mask;
- u8 bit_shift = 0;
+ u8 bit_shift = 1;
DEBUGFUNC("e1000_hash_mc_addr_generic");
@@ -343,5 +343,5 @@ STATIC u32 e1000_hash_mc_addr_vf(struct e1000_hw *hw, u8 *mc_addr)
* where 0xFF would still fall within the hash mask.
*/
- while (hash_mask >> bit_shift != 0xFF)
+ while (hash_mask >> bit_shift != 0xFF && bit_shift < 4)
bit_shift++;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:44.413336187 +0000
+++ 0092-net-e1000-base-fix-MAC-address-hash-bit-shift.patch 2025-02-12 17:29:34.563947201 +0000
@@ -1 +1 @@
-From 1749e662f68ba6571ed81cd264cffd1107abc307 Mon Sep 17 00:00:00 2001
+From 599c0373d9175635be4e8d3ae69565fcce6026b4 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1749e662f68ba6571ed81cd264cffd1107abc307 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -21,2 +22,2 @@
- drivers/net/intel/e1000/base/e1000_mac.c | 4 ++--
- drivers/net/intel/e1000/base/e1000_vf.c | 4 ++--
+ drivers/net/e1000/base/e1000_mac.c | 4 ++--
+ drivers/net/e1000/base/e1000_vf.c | 4 ++--
@@ -25 +26 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_mac.c b/drivers/net/intel/e1000/base/e1000_mac.c
+diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
@@ -27,2 +28,2 @@
---- a/drivers/net/intel/e1000/base/e1000_mac.c
-+++ b/drivers/net/intel/e1000/base/e1000_mac.c
+--- a/drivers/net/e1000/base/e1000_mac.c
++++ b/drivers/net/e1000/base/e1000_mac.c
@@ -43 +44 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_vf.c b/drivers/net/intel/e1000/base/e1000_vf.c
+diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
@@ -45,2 +46,2 @@
---- a/drivers/net/intel/e1000/base/e1000_vf.c
-+++ b/drivers/net/intel/e1000/base/e1000_vf.c
+--- a/drivers/net/e1000/base/e1000_vf.c
++++ b/drivers/net/e1000/base/e1000_vf.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/e1000/base: fix data type in MAC hash' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (90 preceding siblings ...)
2025-02-13 9:58 ` patch 'net/e1000/base: fix MAC address hash bit shift' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: fix uninitialized variable' " Kevin Traynor
` (28 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Barbara Skobiej; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/03970ad00903050b49da5e3b11431b77bff89656
Thanks.
Kevin
---
From 03970ad00903050b49da5e3b11431b77bff89656 Mon Sep 17 00:00:00 2001
From: Barbara Skobiej <barbara.skobiej@intel.com>
Date: Thu, 6 Feb 2025 16:08:41 +0000
Subject: [PATCH] net/e1000/base: fix data type in MAC hash
[ upstream commit 458734aaac3225d98aeee5f4c45b3d39a7d82949 ]
One of the bit shifts in MAC hash calculation triggers a static analysis
warning about a potential overflow. Fix the data type to avoid this.
Fixes: af75078fece3 ("first public release")
Signed-off-by: Barbara Skobiej <barbara.skobiej@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/e1000/base/e1000_mac.c | 6 ++++--
drivers/net/e1000/base/e1000_vf.c | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
index 2b8482e114..5bb77d9e09 100644
--- a/drivers/net/e1000/base/e1000_mac.c
+++ b/drivers/net/e1000/base/e1000_mac.c
@@ -542,6 +542,8 @@ u32 e1000_hash_mc_addr_generic(struct e1000_hw *hw, u8 *mc_addr)
}
- hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
- (((u16) mc_addr[5]) << bit_shift)));
+ hash_value = (u32)mc_addr[4];
+ hash_value = hash_value >> (8 - bit_shift);
+ hash_value |= (((u32)mc_addr[5]) << bit_shift);
+ hash_value &= hash_mask;
return hash_value;
diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
index 3d0383fcbb..fc30357c17 100644
--- a/drivers/net/e1000/base/e1000_vf.c
+++ b/drivers/net/e1000/base/e1000_vf.c
@@ -346,6 +346,8 @@ STATIC u32 e1000_hash_mc_addr_vf(struct e1000_hw *hw, u8 *mc_addr)
bit_shift++;
- hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
- (((u16) mc_addr[5]) << bit_shift)));
+ hash_value = (u32)mc_addr[4];
+ hash_value = hash_value >> (8 - bit_shift);
+ hash_value |= (((u32)mc_addr[5]) << bit_shift);
+ hash_value &= hash_mask;
return hash_value;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:44.510569224 +0000
+++ 0093-net-e1000-base-fix-data-type-in-MAC-hash.patch 2025-02-12 17:29:34.566947218 +0000
@@ -1 +1 @@
-From 458734aaac3225d98aeee5f4c45b3d39a7d82949 Mon Sep 17 00:00:00 2001
+From 03970ad00903050b49da5e3b11431b77bff89656 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 458734aaac3225d98aeee5f4c45b3d39a7d82949 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16,2 +17,2 @@
- drivers/net/intel/e1000/base/e1000_mac.c | 6 ++++--
- drivers/net/intel/e1000/base/e1000_vf.c | 6 ++++--
+ drivers/net/e1000/base/e1000_mac.c | 6 ++++--
+ drivers/net/e1000/base/e1000_vf.c | 6 ++++--
@@ -20 +21 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_mac.c b/drivers/net/intel/e1000/base/e1000_mac.c
+diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
@@ -22,2 +23,2 @@
---- a/drivers/net/intel/e1000/base/e1000_mac.c
-+++ b/drivers/net/intel/e1000/base/e1000_mac.c
+--- a/drivers/net/e1000/base/e1000_mac.c
++++ b/drivers/net/e1000/base/e1000_mac.c
@@ -35 +36 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_vf.c b/drivers/net/intel/e1000/base/e1000_vf.c
+diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
@@ -37,2 +38,2 @@
---- a/drivers/net/intel/e1000/base/e1000_vf.c
-+++ b/drivers/net/intel/e1000/base/e1000_vf.c
+--- a/drivers/net/e1000/base/e1000_vf.c
++++ b/drivers/net/e1000/base/e1000_vf.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/e1000/base: fix uninitialized variable' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (91 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/e1000/base: fix data type in MAC hash' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: fix bitwise operation type' " Kevin Traynor
` (27 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Jakub Buchocki; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/85ec3dfc67d15844c6cb1e2660a213890b5aa9ea
Thanks.
Kevin
---
From 85ec3dfc67d15844c6cb1e2660a213890b5aa9ea Mon Sep 17 00:00:00 2001
From: Jakub Buchocki <jakubx.buchocki@intel.com>
Date: Thu, 6 Feb 2025 16:08:42 +0000
Subject: [PATCH] net/e1000/base: fix uninitialized variable
[ upstream commit 4be9a7008efe063fbd326fea9965f946c8969039 ]
Static analysis has detected potential usage of uninitialized values
inside the array. Fix the warning by initializing array.
Fixes: af75078fece3 ("first public release")
Signed-off-by: Jakub Buchocki <jakubx.buchocki@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
.mailmap | 1 +
drivers/net/e1000/base/e1000_vf.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/.mailmap b/.mailmap
index fbfcfc40ef..d9423aa250 100644
--- a/.mailmap
+++ b/.mailmap
@@ -618,4 +618,5 @@ Jacek Siuda <jck@semihalf.com>
Jack Bond-Preston <jack.bond-preston@foss.arm.com> <jack.bond-preston@arm.com>
Jacob Keller <jacob.e.keller@intel.com>
+Jakub Buchocki <jakubx.buchocki@intel.com>
Jakub Chylkowski <jakubx.chylkowski@intel.com>
Jakub Grajciar <jgrajcia@cisco.com>
diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
index fc30357c17..472b921b6f 100644
--- a/drivers/net/e1000/base/e1000_vf.c
+++ b/drivers/net/e1000/base/e1000_vf.c
@@ -377,5 +377,5 @@ void e1000_update_mc_addr_list_vf(struct e1000_hw *hw,
u8 *mc_addr_list, u32 mc_addr_count)
{
- u32 msgbuf[E1000_VFMAILBOX_SIZE];
+ u32 msgbuf[E1000_VFMAILBOX_SIZE] = {0};
u16 *hash_list = (u16 *)&msgbuf[1];
u32 hash_value;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:44.615477055 +0000
+++ 0094-net-e1000-base-fix-uninitialized-variable.patch 2025-02-12 17:29:34.571947248 +0000
@@ -1 +1 @@
-From 4be9a7008efe063fbd326fea9965f946c8969039 Mon Sep 17 00:00:00 2001
+From 85ec3dfc67d15844c6cb1e2660a213890b5aa9ea Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4be9a7008efe063fbd326fea9965f946c8969039 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16,2 +17,2 @@
- .mailmap | 1 +
- drivers/net/intel/e1000/base/e1000_vf.c | 2 +-
+ .mailmap | 1 +
+ drivers/net/e1000/base/e1000_vf.c | 2 +-
@@ -21 +22 @@
-index ab03985acd..af83b4e129 100644
+index fbfcfc40ef..d9423aa250 100644
@@ -24 +25 @@
-@@ -621,4 +621,5 @@ Jacek Siuda <jck@semihalf.com>
+@@ -618,4 +618,5 @@ Jacek Siuda <jck@semihalf.com>
@@ -30 +31 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_vf.c b/drivers/net/intel/e1000/base/e1000_vf.c
+diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
@@ -32,2 +33,2 @@
---- a/drivers/net/intel/e1000/base/e1000_vf.c
-+++ b/drivers/net/intel/e1000/base/e1000_vf.c
+--- a/drivers/net/e1000/base/e1000_vf.c
++++ b/drivers/net/e1000/base/e1000_vf.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/e1000/base: fix bitwise operation type' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (92 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/e1000/base: fix uninitialized variable' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: fix NVM data type in bit shift' " Kevin Traynor
` (26 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Przemyslaw Ciesielski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/967197d573cc1f4d9f53d9741668efb2090f45e8
Thanks.
Kevin
---
From 967197d573cc1f4d9f53d9741668efb2090f45e8 Mon Sep 17 00:00:00 2001
From: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Date: Thu, 6 Feb 2025 16:08:43 +0000
Subject: [PATCH] net/e1000/base: fix bitwise operation type
[ upstream commit c848457b38851f175893488c0be713995cb19bf2 ]
There is a static analysis warning due to wrong data types being used
for SW/FW semaphore masking. Fix it via explicit type cast.
Fixes: 5a32a257f957 ("e1000: more NICs in base driver")
Signed-off-by: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/e1000/base/e1000_80003es2lan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/e1000/base/e1000_80003es2lan.c b/drivers/net/e1000/base/e1000_80003es2lan.c
index 243bc6fe3e..3516ff2246 100644
--- a/drivers/net/e1000/base/e1000_80003es2lan.c
+++ b/drivers/net/e1000/base/e1000_80003es2lan.c
@@ -427,5 +427,5 @@ STATIC void e1000_release_swfw_sync_80003es2lan(struct e1000_hw *hw, u16 mask)
swfw_sync = E1000_READ_REG(hw, E1000_SW_FW_SYNC);
- swfw_sync &= ~mask;
+ swfw_sync &= ~(u32)mask;
E1000_WRITE_REG(hw, E1000_SW_FW_SYNC, swfw_sync);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:44.698863177 +0000
+++ 0095-net-e1000-base-fix-bitwise-operation-type.patch 2025-02-12 17:29:34.573947260 +0000
@@ -1 +1 @@
-From c848457b38851f175893488c0be713995cb19bf2 Mon Sep 17 00:00:00 2001
+From 967197d573cc1f4d9f53d9741668efb2090f45e8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c848457b38851f175893488c0be713995cb19bf2 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/e1000/base/e1000_80003es2lan.c | 2 +-
+ drivers/net/e1000/base/e1000_80003es2lan.c | 2 +-
@@ -19 +20 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_80003es2lan.c b/drivers/net/intel/e1000/base/e1000_80003es2lan.c
+diff --git a/drivers/net/e1000/base/e1000_80003es2lan.c b/drivers/net/e1000/base/e1000_80003es2lan.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/e1000/base/e1000_80003es2lan.c
-+++ b/drivers/net/intel/e1000/base/e1000_80003es2lan.c
+--- a/drivers/net/e1000/base/e1000_80003es2lan.c
++++ b/drivers/net/e1000/base/e1000_80003es2lan.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/e1000/base: fix NVM data type in bit shift' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (93 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/e1000/base: fix bitwise operation type' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: fix reset for 82580' " Kevin Traynor
` (25 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Przemyslaw Ciesielski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/3f1f64c71325981d0e1d622bb62e5b2a74b684dc
Thanks.
Kevin
---
From 3f1f64c71325981d0e1d622bb62e5b2a74b684dc Mon Sep 17 00:00:00 2001
From: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Date: Thu, 6 Feb 2025 16:08:44 +0000
Subject: [PATCH] net/e1000/base: fix NVM data type in bit shift
[ upstream commit b932270c66d0179824118afbfd7cfb347ddf07d2 ]
There is a static analysis warning due to wrong data types being used
for NVM read data shifts. Fix it via explicit type cast.
Fixes: 38db3f7f50bd ("e1000: update base driver")
Signed-off-by: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/e1000/base/e1000_nvm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/e1000/base/e1000_nvm.c b/drivers/net/e1000/base/e1000_nvm.c
index 430fecaf6d..d171bea649 100644
--- a/drivers/net/e1000/base/e1000_nvm.c
+++ b/drivers/net/e1000/base/e1000_nvm.c
@@ -936,5 +936,5 @@ s32 e1000_read_pba_num_generic(struct e1000_hw *hw, u32 *pba_num)
return -E1000_NOT_IMPLEMENTED;
}
- *pba_num = (u32)(nvm_data << 16);
+ *pba_num = ((u32)nvm_data << 16);
ret_val = hw->nvm.ops.read(hw, NVM_PBA_OFFSET_1, 1, &nvm_data);
@@ -943,5 +943,5 @@ s32 e1000_read_pba_num_generic(struct e1000_hw *hw, u32 *pba_num)
return ret_val;
}
- *pba_num |= nvm_data;
+ *pba_num |= (u32)nvm_data;
return E1000_SUCCESS;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:44.785573533 +0000
+++ 0096-net-e1000-base-fix-NVM-data-type-in-bit-shift.patch 2025-02-12 17:29:34.575947272 +0000
@@ -1 +1 @@
-From b932270c66d0179824118afbfd7cfb347ddf07d2 Mon Sep 17 00:00:00 2001
+From 3f1f64c71325981d0e1d622bb62e5b2a74b684dc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b932270c66d0179824118afbfd7cfb347ddf07d2 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/e1000/base/e1000_nvm.c | 4 ++--
+ drivers/net/e1000/base/e1000_nvm.c | 4 ++--
@@ -19 +20 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_nvm.c b/drivers/net/intel/e1000/base/e1000_nvm.c
+diff --git a/drivers/net/e1000/base/e1000_nvm.c b/drivers/net/e1000/base/e1000_nvm.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/e1000/base/e1000_nvm.c
-+++ b/drivers/net/intel/e1000/base/e1000_nvm.c
+--- a/drivers/net/e1000/base/e1000_nvm.c
++++ b/drivers/net/e1000/base/e1000_nvm.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/e1000/base: fix reset for 82580' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (94 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/e1000/base: fix NVM data type in bit shift' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: fix unchecked return' " Kevin Traynor
` (24 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Barbara Skobiej; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/f0c0d2ff0ebb7d77ce3b58eedaec7fd338d897e2
Thanks.
Kevin
---
From f0c0d2ff0ebb7d77ce3b58eedaec7fd338d897e2 Mon Sep 17 00:00:00 2001
From: Barbara Skobiej <barbara.skobiej@intel.com>
Date: Thu, 6 Feb 2025 16:08:45 +0000
Subject: [PATCH] net/e1000/base: fix reset for 82580
[ upstream commit 88a1eb79ef08d309af58ad4921db7200fa7c5073 ]
Fix setting device reset status bit in e1000_reset_hw_82580() function
for 82580 by first reading the register value, and then setting the
device reset bit.
Fixes: af75078fece3 ("first public release")
Signed-off-by: Barbara Skobiej <barbara.skobiej@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/e1000/base/e1000_82575.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/e1000/base/e1000_82575.c b/drivers/net/e1000/base/e1000_82575.c
index 53900cf8f1..948c80f2fa 100644
--- a/drivers/net/e1000/base/e1000_82575.c
+++ b/drivers/net/e1000/base/e1000_82575.c
@@ -2281,5 +2281,5 @@ STATIC s32 e1000_reset_hw_82580(struct e1000_hw *hw)
/* BH SW mailbox bit in SW_FW_SYNC */
u16 swmbsw_mask = E1000_SW_SYNCH_MB;
- u32 ctrl;
+ u32 ctrl, status;
bool global_device_reset = hw->dev_spec._82575.global_device_reset;
@@ -2346,5 +2346,6 @@ STATIC s32 e1000_reset_hw_82580(struct e1000_hw *hw)
/* clear global device reset status bit */
- E1000_WRITE_REG(hw, E1000_STATUS, E1000_STAT_DEV_RST_SET);
+ status = E1000_READ_REG(hw, E1000_STATUS);
+ E1000_WRITE_REG(hw, E1000_STATUS, status | E1000_STAT_DEV_RST_SET);
/* Clear any pending interrupt events. */
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:44.870518382 +0000
+++ 0097-net-e1000-base-fix-reset-for-82580.patch 2025-02-12 17:29:34.580947302 +0000
@@ -1 +1 @@
-From 88a1eb79ef08d309af58ad4921db7200fa7c5073 Mon Sep 17 00:00:00 2001
+From f0c0d2ff0ebb7d77ce3b58eedaec7fd338d897e2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 88a1eb79ef08d309af58ad4921db7200fa7c5073 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
- drivers/net/intel/e1000/base/e1000_82575.c | 5 +++--
+ drivers/net/e1000/base/e1000_82575.c | 5 +++--
@@ -20 +21 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_82575.c b/drivers/net/intel/e1000/base/e1000_82575.c
+diff --git a/drivers/net/e1000/base/e1000_82575.c b/drivers/net/e1000/base/e1000_82575.c
@@ -22,2 +23,2 @@
---- a/drivers/net/intel/e1000/base/e1000_82575.c
-+++ b/drivers/net/intel/e1000/base/e1000_82575.c
+--- a/drivers/net/e1000/base/e1000_82575.c
++++ b/drivers/net/e1000/base/e1000_82575.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/e1000/base: fix unchecked return' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (95 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/e1000/base: fix reset for 82580' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: skip management check for 82575' " Kevin Traynor
` (23 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Dima Ruinskiy; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/54d89cacabad676ab32c00c5ef60432be1eeca82
Thanks.
Kevin
---
From 54d89cacabad676ab32c00c5ef60432be1eeca82 Mon Sep 17 00:00:00 2001
From: Dima Ruinskiy <dima.ruinskiy@intel.com>
Date: Thu, 6 Feb 2025 16:08:46 +0000
Subject: [PATCH] net/e1000/base: fix unchecked return
[ upstream commit b0b6b50c20b03170c83985194fd9acef9467ded6 ]
Static analysis has detected a write that is not checked for errors,
leading to ignored error return value. Add a check.
Fixes: edcdb3c5f71b ("e1000/base: fix link flap on 82579")
Signed-off-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/e1000/base/e1000_ich8lan.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/e1000/base/e1000_ich8lan.c b/drivers/net/e1000/base/e1000_ich8lan.c
index 14f86b7bdc..f5f91a148c 100644
--- a/drivers/net/e1000/base/e1000_ich8lan.c
+++ b/drivers/net/e1000/base/e1000_ich8lan.c
@@ -963,4 +963,6 @@ s32 e1000_set_eee_pchlan(struct e1000_hw *hw)
ret_val = e1000_write_emi_reg_locked(hw, I82579_LPI_PLL_SHUT,
data);
+ if (ret_val)
+ goto release;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:44.968516440 +0000
+++ 0098-net-e1000-base-fix-unchecked-return.patch 2025-02-12 17:29:34.588947350 +0000
@@ -1 +1 @@
-From b0b6b50c20b03170c83985194fd9acef9467ded6 Mon Sep 17 00:00:00 2001
+From 54d89cacabad676ab32c00c5ef60432be1eeca82 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b0b6b50c20b03170c83985194fd9acef9467ded6 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/e1000/base/e1000_ich8lan.c | 2 ++
+ drivers/net/e1000/base/e1000_ich8lan.c | 2 ++
@@ -19 +20 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_ich8lan.c b/drivers/net/intel/e1000/base/e1000_ich8lan.c
+diff --git a/drivers/net/e1000/base/e1000_ich8lan.c b/drivers/net/e1000/base/e1000_ich8lan.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/e1000/base/e1000_ich8lan.c
-+++ b/drivers/net/intel/e1000/base/e1000_ich8lan.c
+--- a/drivers/net/e1000/base/e1000_ich8lan.c
++++ b/drivers/net/e1000/base/e1000_ich8lan.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/e1000/base: skip management check for 82575' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (96 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/e1000/base: fix unchecked return' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'common/idpf: fix void function returning a value' " Kevin Traynor
` (22 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Carolyn Wyborny; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/a4739a0dd4123ff8e77ae931c0cb48d2bc641e08
Thanks.
Kevin
---
From a4739a0dd4123ff8e77ae931c0cb48d2bc641e08 Mon Sep 17 00:00:00 2001
From: Carolyn Wyborny <carolyn.wyborny@intel.com>
Date: Thu, 6 Feb 2025 16:08:47 +0000
Subject: [PATCH] net/e1000/base: skip management check for 82575
[ upstream commit d107a23f60c6a8b9543c386ecc48abc4f92f50d3 ]
On 82575, driver is not supposed to check if management control is
enabled, and flush the Rx FIFO unconditionally.
Fixes: 44dddd14059f ("net/e1000/base: remove duplicated codes")
Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/e1000/base/e1000_base.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/e1000/base/e1000_base.c b/drivers/net/e1000/base/e1000_base.c
index 3ec32e7240..e10bc6907a 100644
--- a/drivers/net/e1000/base/e1000_base.c
+++ b/drivers/net/e1000/base/e1000_base.c
@@ -133,5 +133,6 @@ void e1000_rx_fifo_flush_base(struct e1000_hw *hw)
E1000_WRITE_REG(hw, E1000_RFCTL, rfctl);
- if (!(E1000_READ_REG(hw, E1000_MANC) & E1000_MANC_RCV_TCO_EN))
+ if (hw->mac.type != e1000_82575 ||
+ !(E1000_READ_REG(hw, E1000_MANC) & E1000_MANC_RCV_TCO_EN))
return;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:45.066605196 +0000
+++ 0099-net-e1000-base-skip-management-check-for-82575.patch 2025-02-12 17:29:34.589947356 +0000
@@ -1 +1 @@
-From d107a23f60c6a8b9543c386ecc48abc4f92f50d3 Mon Sep 17 00:00:00 2001
+From a4739a0dd4123ff8e77ae931c0cb48d2bc641e08 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d107a23f60c6a8b9543c386ecc48abc4f92f50d3 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/e1000/base/e1000_base.c | 3 ++-
+ drivers/net/e1000/base/e1000_base.c | 3 ++-
@@ -19 +20 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_base.c b/drivers/net/intel/e1000/base/e1000_base.c
+diff --git a/drivers/net/e1000/base/e1000_base.c b/drivers/net/e1000/base/e1000_base.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/e1000/base/e1000_base.c
-+++ b/drivers/net/intel/e1000/base/e1000_base.c
+--- a/drivers/net/e1000/base/e1000_base.c
++++ b/drivers/net/e1000/base/e1000_base.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'common/idpf: fix void function returning a value' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (97 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/e1000/base: skip management check for 82575' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/intel: fix void functions " Kevin Traynor
` (21 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Andre Muezerie; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/875cdf78a6c5c3057b41a6c5bde7cd23dcf88c79
Thanks.
Kevin
---
From 875cdf78a6c5c3057b41a6c5bde7cd23dcf88c79 Mon Sep 17 00:00:00 2001
From: Andre Muezerie <andremue@linux.microsoft.com>
Date: Wed, 22 Jan 2025 07:20:43 -0800
Subject: [PATCH] common/idpf: fix void function returning a value
[ upstream commit c39e89b467c510923295a73e5b76a6a44c72dd1b ]
This patch avoids warnings like the one below emitted by MSVC:
../drivers/common/idpf/idpf_common_rxtx_avx512.c(139):
warning C4098: 'idpf_singleq_rearm':
'void' function returning a value
Fixes: 5bf87b45b2c8 ("net/idpf: add AVX512 data path for single queue model")
Fixes: e528d7c74819 ("common/idpf: add AVX512 data path for split queue model")
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/common/idpf/idpf_common_rxtx_avx512.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/common/idpf/idpf_common_rxtx_avx512.c b/drivers/common/idpf/idpf_common_rxtx_avx512.c
index b8450b03ae..9ea71c3718 100644
--- a/drivers/common/idpf/idpf_common_rxtx_avx512.c
+++ b/drivers/common/idpf/idpf_common_rxtx_avx512.c
@@ -138,6 +138,8 @@ idpf_singleq_rearm(struct idpf_rx_queue *rxq)
rxdp += rxq->rxrearm_start;
- if (unlikely(cache == NULL))
- return idpf_singleq_rearm_common(rxq);
+ if (unlikely(cache == NULL)) {
+ idpf_singleq_rearm_common(rxq);
+ return;
+ }
/* We need to pull 'n' more MBUFs into the software ring from mempool
@@ -608,6 +610,8 @@ idpf_splitq_rearm(struct idpf_rx_queue *rx_bufq)
rxdp += rx_bufq->rxrearm_start;
- if (unlikely(!cache))
- return idpf_splitq_rearm_common(rx_bufq);
+ if (unlikely(!cache)) {
+ idpf_splitq_rearm_common(rx_bufq);
+ return;
+ }
/* We need to pull 'n' more MBUFs into the software ring from mempool
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:45.145428429 +0000
+++ 0100-common-idpf-fix-void-function-returning-a-value.patch 2025-02-12 17:29:34.592947374 +0000
@@ -1 +1 @@
-From c39e89b467c510923295a73e5b76a6a44c72dd1b Mon Sep 17 00:00:00 2001
+From 875cdf78a6c5c3057b41a6c5bde7cd23dcf88c79 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c39e89b467c510923295a73e5b76a6a44c72dd1b ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 6fbfee1b2d..b630d1fcd9 100644
+index b8450b03ae..9ea71c3718 100644
@@ -26 +27 @@
-@@ -134,6 +134,8 @@ idpf_singleq_rearm(struct idpf_rx_queue *rxq)
+@@ -138,6 +138,8 @@ idpf_singleq_rearm(struct idpf_rx_queue *rxq)
@@ -37 +38 @@
-@@ -604,6 +606,8 @@ idpf_splitq_rearm(struct idpf_rx_queue *rx_bufq)
+@@ -608,6 +610,8 @@ idpf_splitq_rearm(struct idpf_rx_queue *rx_bufq)
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/intel: fix void functions returning a value' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (98 preceding siblings ...)
2025-02-13 9:59 ` patch 'common/idpf: fix void function returning a value' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/intel: fix build with icx' " Kevin Traynor
` (20 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Andre Muezerie; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/a805904f88d742371cc2bd66b17132c8f8e96c83
Thanks.
Kevin
---
From a805904f88d742371cc2bd66b17132c8f8e96c83 Mon Sep 17 00:00:00 2001
From: Andre Muezerie <andremue@linux.microsoft.com>
Date: Wed, 22 Jan 2025 07:20:44 -0800
Subject: [PATCH] net/intel: fix void functions returning a value
[ upstream commit bc64580a631ee4ad67d7a2a9ae96a63e8d4a02b1 ]
This patch avoids warnings like the one below emitted by MSVC:
../drivers/common/idpf/idpf_common_rxtx_avx512.c(139):
warning C4098: 'idpf_singleq_rearm':
'void' function returning a value
Fixes: 0604b1f2208f ("net/i40e: fix crash in AVX512")
Fixes: 4eb3dcce7c5d ("net/iavf: fix crash in AVX512")
Fixes: 20daa1c978b7 ("net/ice: fix crash in AVX512")
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/i40e/i40e_rxtx_vec_avx2.c | 2 +-
drivers/net/i40e/i40e_rxtx_vec_avx512.c | 2 +-
drivers/net/iavf/iavf_rxtx_vec_avx2.c | 2 +-
drivers/net/ice/ice_rxtx_vec_avx2.c | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/i40e/i40e_rxtx_vec_avx2.c b/drivers/net/i40e/i40e_rxtx_vec_avx2.c
index 19cf0ac718..3e95a6a1df 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_avx2.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_avx2.c
@@ -23,5 +23,5 @@ static __rte_always_inline void
i40e_rxq_rearm(struct i40e_rx_queue *rxq)
{
- return i40e_rxq_rearm_common(rxq, false);
+ i40e_rxq_rearm_common(rxq, false);
}
diff --git a/drivers/net/i40e/i40e_rxtx_vec_avx512.c b/drivers/net/i40e/i40e_rxtx_vec_avx512.c
index 3b2750221b..ae7bcb582b 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_avx512.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_avx512.c
@@ -25,5 +25,5 @@ static __rte_always_inline void
i40e_rxq_rearm(struct i40e_rx_queue *rxq)
{
- return i40e_rxq_rearm_common(rxq, true);
+ i40e_rxq_rearm_common(rxq, true);
}
diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx2.c b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
index 49d41af953..cdb48438da 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_avx2.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
@@ -14,5 +14,5 @@ static __rte_always_inline void
iavf_rxq_rearm(struct iavf_rx_queue *rxq)
{
- return iavf_rxq_rearm_common(rxq, false);
+ iavf_rxq_rearm_common(rxq, false);
}
diff --git a/drivers/net/ice/ice_rxtx_vec_avx2.c b/drivers/net/ice/ice_rxtx_vec_avx2.c
index d6e88dbb29..02bfb9b15d 100644
--- a/drivers/net/ice/ice_rxtx_vec_avx2.c
+++ b/drivers/net/ice/ice_rxtx_vec_avx2.c
@@ -15,5 +15,5 @@ static __rte_always_inline void
ice_rxq_rearm(struct ice_rx_queue *rxq)
{
- return ice_rxq_rearm_common(rxq, false);
+ ice_rxq_rearm_common(rxq, false);
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:45.230548110 +0000
+++ 0101-net-intel-fix-void-functions-returning-a-value.patch 2025-02-12 17:29:34.600947421 +0000
@@ -1 +1 @@
-From bc64580a631ee4ad67d7a2a9ae96a63e8d4a02b1 Mon Sep 17 00:00:00 2001
+From a805904f88d742371cc2bd66b17132c8f8e96c83 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bc64580a631ee4ad67d7a2a9ae96a63e8d4a02b1 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -20,4 +21,4 @@
- drivers/net/intel/i40e/i40e_rxtx_vec_avx2.c | 2 +-
- drivers/net/intel/i40e/i40e_rxtx_vec_avx512.c | 2 +-
- drivers/net/intel/iavf/iavf_rxtx_vec_avx2.c | 2 +-
- drivers/net/intel/ice/ice_rxtx_vec_avx2.c | 2 +-
+ drivers/net/i40e/i40e_rxtx_vec_avx2.c | 2 +-
+ drivers/net/i40e/i40e_rxtx_vec_avx512.c | 2 +-
+ drivers/net/iavf/iavf_rxtx_vec_avx2.c | 2 +-
+ drivers/net/ice/ice_rxtx_vec_avx2.c | 2 +-
@@ -26,5 +27,5 @@
-diff --git a/drivers/net/intel/i40e/i40e_rxtx_vec_avx2.c b/drivers/net/intel/i40e/i40e_rxtx_vec_avx2.c
-index 504015de6e..9c406e7a6f 100644
---- a/drivers/net/intel/i40e/i40e_rxtx_vec_avx2.c
-+++ b/drivers/net/intel/i40e/i40e_rxtx_vec_avx2.c
-@@ -19,5 +19,5 @@ static __rte_always_inline void
+diff --git a/drivers/net/i40e/i40e_rxtx_vec_avx2.c b/drivers/net/i40e/i40e_rxtx_vec_avx2.c
+index 19cf0ac718..3e95a6a1df 100644
+--- a/drivers/net/i40e/i40e_rxtx_vec_avx2.c
++++ b/drivers/net/i40e/i40e_rxtx_vec_avx2.c
+@@ -23,5 +23,5 @@ static __rte_always_inline void
@@ -37,5 +38,5 @@
-diff --git a/drivers/net/intel/i40e/i40e_rxtx_vec_avx512.c b/drivers/net/intel/i40e/i40e_rxtx_vec_avx512.c
-index c10ae050d3..d8244556c0 100644
---- a/drivers/net/intel/i40e/i40e_rxtx_vec_avx512.c
-+++ b/drivers/net/intel/i40e/i40e_rxtx_vec_avx512.c
-@@ -21,5 +21,5 @@ static __rte_always_inline void
+diff --git a/drivers/net/i40e/i40e_rxtx_vec_avx512.c b/drivers/net/i40e/i40e_rxtx_vec_avx512.c
+index 3b2750221b..ae7bcb582b 100644
+--- a/drivers/net/i40e/i40e_rxtx_vec_avx512.c
++++ b/drivers/net/i40e/i40e_rxtx_vec_avx512.c
+@@ -25,5 +25,5 @@ static __rte_always_inline void
@@ -48,5 +49,5 @@
-diff --git a/drivers/net/intel/iavf/iavf_rxtx_vec_avx2.c b/drivers/net/intel/iavf/iavf_rxtx_vec_avx2.c
-index 3571835c5b..88e35dc3e9 100644
---- a/drivers/net/intel/iavf/iavf_rxtx_vec_avx2.c
-+++ b/drivers/net/intel/iavf/iavf_rxtx_vec_avx2.c
-@@ -10,5 +10,5 @@ static __rte_always_inline void
+diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx2.c b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
+index 49d41af953..cdb48438da 100644
+--- a/drivers/net/iavf/iavf_rxtx_vec_avx2.c
++++ b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
+@@ -14,5 +14,5 @@ static __rte_always_inline void
@@ -59,5 +60,5 @@
-diff --git a/drivers/net/intel/ice/ice_rxtx_vec_avx2.c b/drivers/net/intel/ice/ice_rxtx_vec_avx2.c
-index 8dc9b51c5c..0c54b325c6 100644
---- a/drivers/net/intel/ice/ice_rxtx_vec_avx2.c
-+++ b/drivers/net/intel/ice/ice_rxtx_vec_avx2.c
-@@ -11,5 +11,5 @@ static __rte_always_inline void
+diff --git a/drivers/net/ice/ice_rxtx_vec_avx2.c b/drivers/net/ice/ice_rxtx_vec_avx2.c
+index d6e88dbb29..02bfb9b15d 100644
+--- a/drivers/net/ice/ice_rxtx_vec_avx2.c
++++ b/drivers/net/ice/ice_rxtx_vec_avx2.c
+@@ -15,5 +15,5 @@ static __rte_always_inline void
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/intel: fix build with icx' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (99 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/intel: fix void functions " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/hns3: fix copper port initialization' " Kevin Traynor
` (19 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Bruce Richardson; +Cc: Ian Stokes, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/6375e577f8226bf24ef3adb863ce9ffcc16d7c3c
Thanks.
Kevin
---
From 6375e577f8226bf24ef3adb863ce9ffcc16d7c3c Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Mon, 10 Feb 2025 17:19:57 +0000
Subject: [PATCH] net/intel: fix build with icx
[ upstream commit 2641704664267dd3ebe4ad77784ae28440dfaf60 ]
The Intel oneAPI DPC++/C++ Compiler (icx), issues warnings on build when
the "-march=native", or other configured global "-march" flag, is
overridden to "skylake-avx512", when compiling AVX-512 code.
Allow building with icx with warnings-as-errors flag (werror) enabled by
disabling the warning for the cases where we pass that extra "-march"
flag.
Fixes: e6a6a138919f ("net/i40e: add AVX512 vector path")
Fixes: 31737f2b66fb ("net/iavf: enable AVX512 for legacy Rx")
Fixes: 7f85d5ebcfe1 ("net/ice: add AVX512 vector path")
Fixes: 0fac6a1c44d5 ("common/idpf: add AVX512 for single queue model")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Ian Stokes <ian.stokes@intel.com>
---
drivers/common/idpf/meson.build | 3 +++
drivers/net/i40e/meson.build | 3 +++
drivers/net/iavf/meson.build | 3 +++
drivers/net/ice/meson.build | 3 +++
4 files changed, 12 insertions(+)
diff --git a/drivers/common/idpf/meson.build b/drivers/common/idpf/meson.build
index 46fd45c03b..7dbcdabd90 100644
--- a/drivers/common/idpf/meson.build
+++ b/drivers/common/idpf/meson.build
@@ -22,4 +22,7 @@ if arch_subdir == 'x86'
if cc.has_argument('-march=skylake-avx512')
avx512_args += '-march=skylake-avx512'
+ if cc.has_argument('-Wno-overriding-option')
+ avx512_args += '-Wno-overriding-option'
+ endif
endif
idpf_common_avx512_lib = static_library('idpf_common_avx512_lib',
diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
index 5c93493124..ffa40c5d64 100644
--- a/drivers/net/i40e/meson.build
+++ b/drivers/net/i40e/meson.build
@@ -58,4 +58,7 @@ if arch_subdir == 'x86'
if cc.has_argument('-march=skylake-avx512')
avx512_args += '-march=skylake-avx512'
+ if cc.has_argument('-Wno-overriding-option')
+ avx512_args += '-Wno-overriding-option'
+ endif
endif
i40e_avx512_lib = static_library('i40e_avx512_lib',
diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build
index b48bb83438..c1c4271911 100644
--- a/drivers/net/iavf/meson.build
+++ b/drivers/net/iavf/meson.build
@@ -43,4 +43,7 @@ if arch_subdir == 'x86'
if cc.has_argument('-march=skylake-avx512')
avx512_args += '-march=skylake-avx512'
+ if cc.has_argument('-Wno-overriding-option')
+ avx512_args += '-Wno-overriding-option'
+ endif
endif
iavf_avx512_lib = static_library('iavf_avx512_lib',
diff --git a/drivers/net/ice/meson.build b/drivers/net/ice/meson.build
index 1c9dc0cc6d..81ebc706f4 100644
--- a/drivers/net/ice/meson.build
+++ b/drivers/net/ice/meson.build
@@ -41,4 +41,7 @@ if arch_subdir == 'x86'
if cc.has_argument('-march=skylake-avx512')
avx512_args += '-march=skylake-avx512'
+ if cc.has_argument('-Wno-overriding-option')
+ avx512_args += '-Wno-overriding-option'
+ endif
endif
ice_avx512_lib = static_library('ice_avx512_lib',
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:45.318537246 +0000
+++ 0102-net-intel-fix-build-with-icx.patch 2025-02-12 17:29:34.602947433 +0000
@@ -1 +1 @@
-From 2641704664267dd3ebe4ad77784ae28440dfaf60 Mon Sep 17 00:00:00 2001
+From 6375e577f8226bf24ef3adb863ce9ffcc16d7c3c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2641704664267dd3ebe4ad77784ae28440dfaf60 ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -23,4 +24,4 @@
- drivers/net/intel/i40e/meson.build | 3 +++
- drivers/net/intel/iavf/meson.build | 3 +++
- drivers/net/intel/ice/meson.build | 3 +++
- drivers/net/intel/idpf/meson.build | 3 +++
+ drivers/common/idpf/meson.build | 3 +++
+ drivers/net/i40e/meson.build | 3 +++
+ drivers/net/iavf/meson.build | 3 +++
+ drivers/net/ice/meson.build | 3 +++
@@ -29,5 +30,5 @@
-diff --git a/drivers/net/intel/i40e/meson.build b/drivers/net/intel/i40e/meson.build
-index 5c93493124..ffa40c5d64 100644
---- a/drivers/net/intel/i40e/meson.build
-+++ b/drivers/net/intel/i40e/meson.build
-@@ -58,4 +58,7 @@ if arch_subdir == 'x86'
+diff --git a/drivers/common/idpf/meson.build b/drivers/common/idpf/meson.build
+index 46fd45c03b..7dbcdabd90 100644
+--- a/drivers/common/idpf/meson.build
++++ b/drivers/common/idpf/meson.build
+@@ -22,4 +22,7 @@ if arch_subdir == 'x86'
@@ -40,6 +41,6 @@
- i40e_avx512_lib = static_library('i40e_avx512_lib',
-diff --git a/drivers/net/intel/iavf/meson.build b/drivers/net/intel/iavf/meson.build
-index c823d618e3..19cd1cfbc8 100644
---- a/drivers/net/intel/iavf/meson.build
-+++ b/drivers/net/intel/iavf/meson.build
-@@ -46,4 +46,7 @@ if arch_subdir == 'x86'
+ idpf_common_avx512_lib = static_library('idpf_common_avx512_lib',
+diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
+index 5c93493124..ffa40c5d64 100644
+--- a/drivers/net/i40e/meson.build
++++ b/drivers/net/i40e/meson.build
+@@ -58,4 +58,7 @@ if arch_subdir == 'x86'
@@ -52,6 +53,6 @@
- iavf_avx512_lib = static_library('iavf_avx512_lib',
-diff --git a/drivers/net/intel/ice/meson.build b/drivers/net/intel/ice/meson.build
-index ff7f84597a..a34b7c966a 100644
---- a/drivers/net/intel/ice/meson.build
-+++ b/drivers/net/intel/ice/meson.build
-@@ -52,4 +52,7 @@ if arch_subdir == 'x86'
+ i40e_avx512_lib = static_library('i40e_avx512_lib',
+diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build
+index b48bb83438..c1c4271911 100644
+--- a/drivers/net/iavf/meson.build
++++ b/drivers/net/iavf/meson.build
+@@ -43,4 +43,7 @@ if arch_subdir == 'x86'
@@ -64,6 +65,6 @@
- ice_avx512_lib = static_library('ice_avx512_lib',
-diff --git a/drivers/net/intel/idpf/meson.build b/drivers/net/intel/idpf/meson.build
-index f82c16746d..802b13035b 100644
---- a/drivers/net/intel/idpf/meson.build
-+++ b/drivers/net/intel/idpf/meson.build
-@@ -32,4 +32,7 @@ if arch_subdir == 'x86' and dpdk_conf.get('RTE_IOVA_IN_MBUF') == 1
+ iavf_avx512_lib = static_library('iavf_avx512_lib',
+diff --git a/drivers/net/ice/meson.build b/drivers/net/ice/meson.build
+index 1c9dc0cc6d..81ebc706f4 100644
+--- a/drivers/net/ice/meson.build
++++ b/drivers/net/ice/meson.build
+@@ -41,4 +41,7 @@ if arch_subdir == 'x86'
@@ -76 +77 @@
- idpf_common_avx512_lib = static_library('idpf_common_avx512_lib',
+ ice_avx512_lib = static_library('ice_avx512_lib',
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/hns3: fix copper port initialization' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (100 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/intel: fix build with icx' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/hns3: fix reset timeout' " Kevin Traynor
` (18 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Dengdui Huang; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/e38a5f52e81b6dd49ba25e4af3b023b7eddf25fa
Thanks.
Kevin
---
From e38a5f52e81b6dd49ba25e4af3b023b7eddf25fa Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Mon, 10 Feb 2025 11:01:12 +0800
Subject: [PATCH] net/hns3: fix copper port initialization
[ upstream commit 763546c33ea9600e76790c470d2921808068eb3d ]
The initialization of copper port contains the following two steps.
1. Configure firmware takeover the PHY. The firmware will start an
asynchronous task to initialize the PHY chip.
2. Configure work speed and duplex.
In earlier versions of the firmware, when the asynchronous task is not
finished, the firmware will return -ENOTBLK in the second step. And this
will lead to driver failed to initialize. Here add retry for this case.
Fixes: 2e4859f3b362 ("net/hns3: support PF device with copper PHYs")
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
---
drivers/net/hns3/hns3_ethdev.c | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
index 72d1c30a7b..9f7119b734 100644
--- a/drivers/net/hns3/hns3_ethdev.c
+++ b/drivers/net/hns3/hns3_ethdev.c
@@ -4853,5 +4853,5 @@ hns3_get_link_duplex(uint32_t link_speeds)
static int
-hns3_set_copper_port_link_speed(struct hns3_hw *hw,
+hns3_copper_port_link_speed_cfg(struct hns3_hw *hw,
struct hns3_set_link_speed_cfg *cfg)
{
@@ -4887,4 +4887,31 @@ hns3_set_copper_port_link_speed(struct hns3_hw *hw,
}
+static int
+hns3_set_copper_port_link_speed(struct hns3_hw *hw,
+ struct hns3_set_link_speed_cfg *cfg)
+{
+#define HNS3_PHY_PARAM_CFG_RETRY_TIMES 10
+#define HNS3_PHY_PARAM_CFG_RETRY_DELAY_MS 100
+ uint32_t retry_cnt = 0;
+ int ret;
+
+ /*
+ * The initialization of copper port contains the following two steps.
+ * 1. Configure firmware takeover the PHY. The firmware will start an
+ * asynchronous task to initialize the PHY chip.
+ * 2. Configure work speed and duplex.
+ * In earlier versions of the firmware, when the asynchronous task is not
+ * finished, the firmware will return -ENOTBLK in the second step. And this
+ * will lead to driver failed to initialize. Here add retry for this case.
+ */
+ ret = hns3_copper_port_link_speed_cfg(hw, cfg);
+ while (ret == -ENOTBLK && retry_cnt++ < HNS3_PHY_PARAM_CFG_RETRY_TIMES) {
+ rte_delay_ms(HNS3_PHY_PARAM_CFG_RETRY_DELAY_MS);
+ ret = hns3_copper_port_link_speed_cfg(hw, cfg);
+ }
+
+ return ret;
+}
+
static int
hns3_set_autoneg(struct hns3_hw *hw, bool enable)
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:45.406642623 +0000
+++ 0103-net-hns3-fix-copper-port-initialization.patch 2025-02-12 17:29:34.610947481 +0000
@@ -1 +1 @@
-From 763546c33ea9600e76790c470d2921808068eb3d Mon Sep 17 00:00:00 2001
+From e38a5f52e81b6dd49ba25e4af3b023b7eddf25fa Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 763546c33ea9600e76790c470d2921808068eb3d ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/hns3: fix reset timeout' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (101 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/hns3: fix copper port initialization' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/cpfl: fix representor parsing log' " Kevin Traynor
` (17 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Dengdui Huang; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/cd5ba7e5d643d8502865e271b407478a291f4d65
Thanks.
Kevin
---
From cd5ba7e5d643d8502865e271b407478a291f4d65 Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Mon, 10 Feb 2025 11:01:13 +0800
Subject: [PATCH] net/hns3: fix reset timeout
[ upstream commit 9f7c28c5e98062576dfbf555cd5ede7e33d6624b ]
There is low probability that the driver reset timeout, the root cause is
that the firmware processing take a litter long than normal when process
reset command. This patch fix it by changing the timeout of the reset
command to 100 ms.
Fixes: 737f30e1c3ab ("net/hns3: support command interface with firmware")
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
---
drivers/net/hns3/hns3_cmd.c | 18 ++++++++++++------
drivers/net/hns3/hns3_cmd.h | 4 ++--
2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/drivers/net/hns3/hns3_cmd.c b/drivers/net/hns3/hns3_cmd.c
index 146444e2fa..398b75384e 100644
--- a/drivers/net/hns3/hns3_cmd.c
+++ b/drivers/net/hns3/hns3_cmd.c
@@ -305,6 +305,15 @@ hns3_cmd_get_hardware_reply(struct hns3_hw *hw,
}
-static int hns3_cmd_poll_reply(struct hns3_hw *hw)
+static uint32_t hns3_get_cmd_tx_timeout(uint16_t opcode)
{
+ if (opcode == HNS3_OPC_CFG_RST_TRIGGER)
+ return HNS3_COMQ_CFG_RST_TIMEOUT;
+
+ return HNS3_CMDQ_TX_TIMEOUT_DEFAULT;
+}
+
+static int hns3_cmd_poll_reply(struct hns3_hw *hw, uint16_t opcode)
+{
+ uint32_t cmdq_tx_timeout = hns3_get_cmd_tx_timeout(opcode);
struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw);
uint32_t timeout = 0;
@@ -327,5 +336,5 @@ static int hns3_cmd_poll_reply(struct hns3_hw *hw)
rte_delay_us(1);
timeout++;
- } while (timeout < hw->cmq.tx_timeout);
+ } while (timeout < cmdq_tx_timeout);
hns3_err(hw, "Wait for reply timeout");
return -ETIME;
@@ -401,5 +410,5 @@ hns3_cmd_send(struct hns3_hw *hw, struct hns3_cmd_desc *desc, int num)
*/
if (HNS3_CMD_SEND_SYNC(rte_le_to_cpu_16(desc->flag))) {
- retval = hns3_cmd_poll_reply(hw);
+ retval = hns3_cmd_poll_reply(hw, desc->opcode);
if (!retval)
retval = hns3_cmd_get_hardware_reply(hw, desc, num,
@@ -612,7 +621,4 @@ hns3_cmd_init_queue(struct hns3_hw *hw)
hw->cmq.crq.desc_num = HNS3_NIC_CMQ_DESC_NUM;
- /* Setup Tx write back timeout */
- hw->cmq.tx_timeout = HNS3_CMDQ_TX_TIMEOUT;
-
/* Setup queue rings */
ret = hns3_alloc_cmd_queue(hw, HNS3_TYPE_CSQ);
diff --git a/drivers/net/hns3/hns3_cmd.h b/drivers/net/hns3/hns3_cmd.h
index 79a8c1edad..4d707c13b2 100644
--- a/drivers/net/hns3/hns3_cmd.h
+++ b/drivers/net/hns3/hns3_cmd.h
@@ -11,5 +11,6 @@
#include <rte_spinlock.h>
-#define HNS3_CMDQ_TX_TIMEOUT 30000
+#define HNS3_CMDQ_TX_TIMEOUT_DEFAULT 30000
+#define HNS3_COMQ_CFG_RST_TIMEOUT 100000
#define HNS3_CMDQ_CLEAR_WAIT_TIME 200
#define HNS3_CMDQ_RX_INVLD_B 0
@@ -63,5 +64,4 @@ struct hns3_cmq {
struct hns3_cmq_ring csq;
struct hns3_cmq_ring crq;
- uint16_t tx_timeout;
enum hns3_cmd_return_status last_status;
};
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:45.526464387 +0000
+++ 0104-net-hns3-fix-reset-timeout.patch 2025-02-12 17:29:34.613947499 +0000
@@ -1 +1 @@
-From 9f7c28c5e98062576dfbf555cd5ede7e33d6624b Mon Sep 17 00:00:00 2001
+From cd5ba7e5d643d8502865e271b407478a291f4d65 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9f7c28c5e98062576dfbf555cd5ede7e33d6624b ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/cpfl: fix representor parsing log' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (102 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/hns3: fix reset timeout' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'raw/cnxk_gpio: fix file descriptor leak' " Kevin Traynor
` (16 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/272df7dc62b967bc5cc552bc340443069f4e7c41
Thanks.
Kevin
---
From 272df7dc62b967bc5cc552bc340443069f4e7c41 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:03 -0800
Subject: [PATCH] net/cpfl: fix representor parsing log
[ upstream commit 7501478b95fc79b178fc525246482215a6018651 ]
The log message would always refer to str variable which
is NULL here. Looks like author intended to print original
parameter.
Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: 65899b9e6538 ("net/cpfl: parse representor devargs")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/cpfl/cpfl_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c
index 6f6707a0bd..1817221652 100644
--- a/drivers/net/cpfl/cpfl_ethdev.c
+++ b/drivers/net/cpfl/cpfl_ethdev.c
@@ -1581,5 +1581,5 @@ parse_repr(const char *key __rte_unused, const char *value, void *args)
done:
if (str == NULL) {
- PMD_DRV_LOG(ERR, "wrong representor format: %s", str);
+ PMD_DRV_LOG(ERR, "wrong representor format: %s", value);
return -1;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:45.630558831 +0000
+++ 0105-net-cpfl-fix-representor-parsing-log.patch 2025-02-12 17:29:34.616947517 +0000
@@ -1 +1 @@
-From 7501478b95fc79b178fc525246482215a6018651 Mon Sep 17 00:00:00 2001
+From 272df7dc62b967bc5cc552bc340443069f4e7c41 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7501478b95fc79b178fc525246482215a6018651 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/cpfl/cpfl_ethdev.c | 2 +-
+ drivers/net/cpfl/cpfl_ethdev.c | 2 +-
@@ -19 +20 @@
-diff --git a/drivers/net/intel/cpfl/cpfl_ethdev.c b/drivers/net/intel/cpfl/cpfl_ethdev.c
+diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/cpfl/cpfl_ethdev.c
-+++ b/drivers/net/intel/cpfl/cpfl_ethdev.c
+--- a/drivers/net/cpfl/cpfl_ethdev.c
++++ b/drivers/net/cpfl/cpfl_ethdev.c
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'raw/cnxk_gpio: fix file descriptor leak' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (103 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/cpfl: fix representor parsing log' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'eal: fix devargs layers parsing out of bounds' " Kevin Traynor
` (15 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/630bb8e5d0b03939bca565d61341058463e14827
Thanks.
Kevin
---
From 630bb8e5d0b03939bca565d61341058463e14827 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:04 -0800
Subject: [PATCH] raw/cnxk_gpio: fix file descriptor leak
[ upstream commit 67f0beaf0f5bf2cf239219c737ed8d93aaaaa673 ]
The function would leak file if fscanf failed.
There is a working version in other file, clone that.
Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: 0e6557b448fa ("raw/cnxk_gpio: add self test")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c | 24 ++++++++++++++--------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c b/drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c
index 2f3973a7b5..a0d9942f20 100644
--- a/drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c
+++ b/drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c
@@ -35,6 +35,6 @@ static int
cnxk_gpio_read_attr(char *attr, char *val)
{
+ int ret, ret2;
FILE *fp;
- int ret;
fp = fopen(attr, "r");
@@ -43,14 +43,20 @@ cnxk_gpio_read_attr(char *attr, char *val)
ret = fscanf(fp, "%s", val);
- if (ret < 0)
- return -errno;
- if (ret != 1)
- return -EIO;
+ if (ret < 0) {
+ ret = -errno;
+ goto out;
+ }
+ if (ret != 1) {
+ ret = -EIO;
+ goto out;
+ }
- ret = fclose(fp);
- if (ret)
- return -errno;
+ ret = 0;
+out:
+ ret2 = fclose(fp);
+ if (!ret)
+ ret = ret2;
- return 0;
+ return ret;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:45.726238643 +0000
+++ 0106-raw-cnxk_gpio-fix-file-descriptor-leak.patch 2025-02-12 17:29:34.617947523 +0000
@@ -1 +1 @@
-From 67f0beaf0f5bf2cf239219c737ed8d93aaaaa673 Mon Sep 17 00:00:00 2001
+From 630bb8e5d0b03939bca565d61341058463e14827 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 67f0beaf0f5bf2cf239219c737ed8d93aaaaa673 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'eal: fix devargs layers parsing out of bounds' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (104 preceding siblings ...)
2025-02-13 9:59 ` patch 'raw/cnxk_gpio: fix file descriptor leak' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/qede: fix debug messages array' " Kevin Traynor
` (14 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/5550f484d4bea1e6ab69e6c82be991c5ee64f4d7
Thanks.
Kevin
---
From 5550f484d4bea1e6ab69e6c82be991c5ee64f4d7 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:07 -0800
Subject: [PATCH] eal: fix devargs layers parsing out of bounds
[ upstream commit 42f91490ebc97a816ea11ce9c995f455c169a77a ]
The code for parsing layers in devargs could reference past
the end of layers[] array on stack.
Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: 9a1a9e4a2ddd ("devargs: support path value with global device syntax")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
lib/eal/common/eal_common_devargs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/eal/common/eal_common_devargs.c b/lib/eal/common/eal_common_devargs.c
index a64805b268..dd857fc839 100644
--- a/lib/eal/common/eal_common_devargs.c
+++ b/lib/eal/common/eal_common_devargs.c
@@ -89,5 +89,5 @@ rte_devargs_layers_parse(struct rte_devargs *devargs,
while (s != NULL) {
- if (nblayer > RTE_DIM(layers)) {
+ if (nblayer >= RTE_DIM(layers)) {
ret = -E2BIG;
goto get_out;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:45.822921830 +0000
+++ 0107-eal-fix-devargs-layers-parsing-out-of-bounds.patch 2025-02-12 17:29:34.618947529 +0000
@@ -1 +1 @@
-From 42f91490ebc97a816ea11ce9c995f455c169a77a Mon Sep 17 00:00:00 2001
+From 5550f484d4bea1e6ab69e6c82be991c5ee64f4d7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 42f91490ebc97a816ea11ce9c995f455c169a77a ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/qede: fix debug messages array' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (105 preceding siblings ...)
2025-02-13 9:59 ` patch 'eal: fix devargs layers parsing out of bounds' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'examples/ptpclient: fix message parsing' " Kevin Traynor
` (13 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/ce8ae4502c61d15f14cbeb2a95f41ff482b8928b
Thanks.
Kevin
---
From ce8ae4502c61d15f14cbeb2a95f41ff482b8928b Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:08 -0800
Subject: [PATCH] net/qede: fix debug messages array
[ upstream commit 60c68da0392e31ea4c163e0be8f1236a00cd350c ]
The array of debug status strings did not match possible enum
values. Add the missing element and a static assert to make sure
the table has all possible values.
For more complete description see.
Link: https://pvs-studio.com/en/blog/posts/cpp/1176/
Fixes: ec55c118792b ("net/qede: add infrastructure for debug data collection")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/qede/qede_debug.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/qede/qede_debug.c b/drivers/net/qede/qede_debug.c
index 18f2d988fb..1d3147b724 100644
--- a/drivers/net/qede/qede_debug.c
+++ b/drivers/net/qede/qede_debug.c
@@ -5,4 +5,5 @@
*/
+#include <assert.h>
#include <rte_common.h>
#include "base/bcm_osal.h"
@@ -83,4 +84,5 @@ static const char * const s_mem_group_names[] = {
"TASK_CFC_MEM",
};
+static_assert(RTE_DIM(s_mem_group_names) == MEM_GROUPS_NUM, "memory group string mismatch");
/* Idle check conditions */
@@ -5615,4 +5617,6 @@ static const char * const s_status_str[] = {
"The filter/trigger constraint dword offsets are not enabled for recording",
+ /* DBG_STATUS_NO_MATCHING_FRAMING_MODE */
+ "No matching frame mode",
/* DBG_STATUS_VFC_READ_ERROR */
@@ -5760,4 +5764,5 @@ static const char * const s_status_str[] = {
"When triggering on Storm data, the Storm to trigger on must be specified"
};
+static_assert(RTE_DIM(s_status_str) == MAX_DBG_STATUS, "status string table mismatch");
/* Idle check severity names array */
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:45.925334407 +0000
+++ 0108-net-qede-fix-debug-messages-array.patch 2025-02-12 17:29:34.628947588 +0000
@@ -1 +1 @@
-From 60c68da0392e31ea4c163e0be8f1236a00cd350c Mon Sep 17 00:00:00 2001
+From ce8ae4502c61d15f14cbeb2a95f41ff482b8928b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 60c68da0392e31ea4c163e0be8f1236a00cd350c ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'examples/ptpclient: fix message parsing' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (106 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/qede: fix debug messages array' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/hinic: fix flow type bitmask overflow' " Kevin Traynor
` (12 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/3eed0aca9057c3d9d5b2e122093be7a789dbc23e
Thanks.
Kevin
---
From 3eed0aca9057c3d9d5b2e122093be7a789dbc23e Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:10 -0800
Subject: [PATCH] examples/ptpclient: fix message parsing
[ upstream commit 19630bd0d735badb06143086d4f1c50d726b7bad ]
Calling memcmp on same structure will always be true.
Replace with same conditional used elsewhere.
Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: ab129e9065a5 ("examples/ptpclient: add minimal PTP client")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
examples/ptpclient/ptpclient.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclient.c
index 7b6862d951..416363d8d0 100644
--- a/examples/ptpclient/ptpclient.c
+++ b/examples/ptpclient/ptpclient.c
@@ -370,5 +370,5 @@ parse_sync(struct ptpv2_time_receiver_ordinary *ptp_data, uint16_t rx_tstamp_idx
}
- if (memcmp(&ptp_hdr->source_port_id.clock_id,
+ if (memcmp(&ptp_data->transmitter_clock_id,
&ptp_hdr->source_port_id.clock_id,
sizeof(struct clock_id)) == 0) {
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:46.040836604 +0000
+++ 0109-examples-ptpclient-fix-message-parsing.patch 2025-02-12 17:29:34.630947600 +0000
@@ -1 +1 @@
-From 19630bd0d735badb06143086d4f1c50d726b7bad Mon Sep 17 00:00:00 2001
+From 3eed0aca9057c3d9d5b2e122093be7a789dbc23e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 19630bd0d735badb06143086d4f1c50d726b7bad ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 27d06dd91d..c344e7db1e 100644
+index 7b6862d951..416363d8d0 100644
@@ -23 +24 @@
-@@ -368,5 +368,5 @@ parse_sync(struct ptpv2_time_receiver_ordinary *ptp_data, uint16_t rx_tstamp_idx
+@@ -370,5 +370,5 @@ parse_sync(struct ptpv2_time_receiver_ordinary *ptp_data, uint16_t rx_tstamp_idx
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/hinic: fix flow type bitmask overflow' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (107 preceding siblings ...)
2025-02-13 9:59 ` patch 'examples/ptpclient: fix message parsing' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'crypto/dpaa2_sec: fix bitmask truncation' " Kevin Traynor
` (11 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/a38040c143eded29990f5794300e0b9e16c2fcab
Thanks.
Kevin
---
From a38040c143eded29990f5794300e0b9e16c2fcab Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:12 -0800
Subject: [PATCH] net/hinic: fix flow type bitmask overflow
[ upstream commit a357d5b703253b5920aba808a24877386a22720e ]
The type mask is 64 bit value, doing a shift of literal 1 (32 bit)
will result in int type (32 bit) and cause truncation.
Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: f4ca3fd54c4d ("net/hinic: create and destroy flow director filter")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/hinic/hinic_pmd_flow.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/net/hinic/hinic_pmd_flow.c b/drivers/net/hinic/hinic_pmd_flow.c
index 8fdd5a35be..6b1ca6ff88 100644
--- a/drivers/net/hinic/hinic_pmd_flow.c
+++ b/drivers/net/hinic/hinic_pmd_flow.c
@@ -1980,6 +1980,6 @@ static int hinic_lookup_new_filter(struct hinic_5tuple_filter *filter,
}
- if (!(filter_info->type_mask & (1 << type_id))) {
- filter_info->type_mask |= 1 << type_id;
+ if (!(filter_info->type_mask & (UINT64_C(1) << type_id))) {
+ filter_info->type_mask |= UINT64_C(1) << type_id;
filter->index = type_id;
filter_info->pkt_filters[type_id].enable = true;
@@ -2139,5 +2139,5 @@ static void hinic_remove_5tuple_filter(struct rte_eth_dev *dev,
filter_info->qid = 0;
filter_info->pkt_filters[filter->index].qid = 0;
- filter_info->type_mask &= ~(1 << (filter->index));
+ filter_info->type_mask &= ~(UINT64_C(1) << filter->index);
TAILQ_REMOVE(&filter_info->fivetuple_list, filter, entries);
@@ -2269,6 +2269,6 @@ hinic_ethertype_filter_insert(struct hinic_filter_info *filter_info,
return -EINVAL;
- if (!(filter_info->type_mask & (1 << id))) {
- filter_info->type_mask |= 1 << id;
+ if (!(filter_info->type_mask & (UINT64_C(1) << id))) {
+ filter_info->type_mask |= UINT64_C(1) << id;
filter_info->pkt_filters[id].pkt_proto =
ethertype_filter->pkt_proto;
@@ -2290,5 +2290,5 @@ hinic_ethertype_filter_remove(struct hinic_filter_info *filter_info,
filter_info->pkt_type = 0;
- filter_info->type_mask &= ~(1 << idx);
+ filter_info->type_mask &= ~(UINT64_C(1) << idx);
filter_info->pkt_filters[idx].pkt_proto = (uint16_t)0;
filter_info->pkt_filters[idx].enable = FALSE;
@@ -2356,5 +2356,5 @@ hinic_add_del_ethertype_filter(struct rte_eth_dev *dev,
return -EINVAL;
- if ((filter_info->type_mask & (1 << i))) {
+ if ((filter_info->type_mask & (UINT64_C(1) << i))) {
filter_info->pkt_filters[i].enable = FALSE;
(void)hinic_set_fdir_filter(nic_dev->hwdev,
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:46.142619041 +0000
+++ 0110-net-hinic-fix-flow-type-bitmask-overflow.patch 2025-02-12 17:29:34.634947624 +0000
@@ -1 +1 @@
-From a357d5b703253b5920aba808a24877386a22720e Mon Sep 17 00:00:00 2001
+From a38040c143eded29990f5794300e0b9e16c2fcab Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a357d5b703253b5920aba808a24877386a22720e ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'crypto/dpaa2_sec: fix bitmask truncation' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (108 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/hinic: fix flow type bitmask overflow' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'crypto/dpaa_sec: " Kevin Traynor
` (10 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/15e631a10c0bbede23f35f4a173822e768ed6b2b
Thanks.
Kevin
---
From 15e631a10c0bbede23f35f4a173822e768ed6b2b Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:13 -0800
Subject: [PATCH] crypto/dpaa2_sec: fix bitmask truncation
[ upstream commit 013ddc85bff5fdb85eb6006315ebdaa0c12eeece ]
The dqrr_held mask is 64 bit but updates were getting truncated
because 1 is of type int (32 bit) and the result shift of int is of
type int (32 bit); therefore any value >= 32 would get truncated.
Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: a77db24643b7 ("crypto/dpaa2_sec: support atomic queues")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index ec6577f64c..7ad8fd47dd 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -1492,6 +1492,6 @@ dpaa2_sec_enqueue_burst(void *qp, struct rte_crypto_op **ops,
if (*dpaa2_seqn((*ops)->sym->m_src) & QBMAN_ENQUEUE_FLAG_DCA) {
DPAA2_PER_LCORE_DQRR_SIZE--;
- DPAA2_PER_LCORE_DQRR_HELD &= ~(1 <<
- *dpaa2_seqn((*ops)->sym->m_src) &
+ DPAA2_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) <<
+ *dpaa2_seqn((*ops)->sym->m_src) &
QBMAN_EQCR_DCA_IDXMASK);
}
@@ -1773,5 +1773,5 @@ dpaa2_sec_set_enqueue_descriptor(struct dpaa2_queue *dpaa2_q,
qbman_eq_desc_set_dca(eqdesc, 1, dq_idx, 0);
DPAA2_PER_LCORE_DQRR_SIZE--;
- DPAA2_PER_LCORE_DQRR_HELD &= ~(1 << dq_idx);
+ DPAA2_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << dq_idx);
}
*dpaa2_seqn(m) = DPAA2_INVALID_MBUF_SEQN;
@@ -4056,5 +4056,5 @@ dpaa2_sec_process_atomic_event(struct qbman_swp *swp __rte_unused,
*dpaa2_seqn(crypto_op->sym->m_src) = QBMAN_ENQUEUE_FLAG_DCA | dqrr_index;
DPAA2_PER_LCORE_DQRR_SIZE++;
- DPAA2_PER_LCORE_DQRR_HELD |= 1 << dqrr_index;
+ DPAA2_PER_LCORE_DQRR_HELD |= UINT64_C(1) << dqrr_index;
DPAA2_PER_LCORE_DQRR_MBUF(dqrr_index) = crypto_op->sym->m_src;
ev->event_ptr = crypto_op;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:46.248428443 +0000
+++ 0111-crypto-dpaa2_sec-fix-bitmask-truncation.patch 2025-02-12 17:29:34.639947654 +0000
@@ -1 +1 @@
-From 013ddc85bff5fdb85eb6006315ebdaa0c12eeece Mon Sep 17 00:00:00 2001
+From 15e631a10c0bbede23f35f4a173822e768ed6b2b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 013ddc85bff5fdb85eb6006315ebdaa0c12eeece ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'crypto/dpaa_sec: fix bitmask truncation' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (109 preceding siblings ...)
2025-02-13 9:59 ` patch 'crypto/dpaa2_sec: fix bitmask truncation' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'event/dpaa: " Kevin Traynor
` (9 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/ef9b860cec31b74be5beb6693329742998f47449
Thanks.
Kevin
---
From ef9b860cec31b74be5beb6693329742998f47449 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:14 -0800
Subject: [PATCH] crypto/dpaa_sec: fix bitmask truncation
[ upstream commit 7c18f573c1f5368f70e6e956c4ba0c6f97b19cb1 ]
The dqrr_held mask is 64 bit but updates were getting truncated
because 1 is of type int (32 bit) and the result shift of int is of
type int (32 bit); therefore any value >= 32 would get truncated.
Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: fe3688ba7950 ("crypto/dpaa_sec: support event crypto adapter")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/crypto/dpaa_sec/dpaa_sec.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c
index 3fa88ca968..e117cd77a6 100644
--- a/drivers/crypto/dpaa_sec/dpaa_sec.c
+++ b/drivers/crypto/dpaa_sec/dpaa_sec.c
@@ -1908,11 +1908,10 @@ dpaa_sec_enqueue_burst(void *qp, struct rte_crypto_op **ops,
if (*dpaa_seqn(op->sym->m_src) != 0) {
index = *dpaa_seqn(op->sym->m_src) - 1;
- if (DPAA_PER_LCORE_DQRR_HELD & (1 << index)) {
+ if (DPAA_PER_LCORE_DQRR_HELD & (UINT64_C(1) << index)) {
/* QM_EQCR_DCA_IDXMASK = 0x0f */
flags[loop] = ((index & 0x0f) << 8);
flags[loop] |= QMAN_ENQUEUE_FLAG_DCA;
DPAA_PER_LCORE_DQRR_SIZE--;
- DPAA_PER_LCORE_DQRR_HELD &=
- ~(1 << index);
+ DPAA_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << index);
}
}
@@ -3501,5 +3500,5 @@ dpaa_sec_process_atomic_event(void *event,
index = ((uintptr_t)dqrr >> 6) & (16/*QM_DQRR_SIZE*/ - 1);
DPAA_PER_LCORE_DQRR_SIZE++;
- DPAA_PER_LCORE_DQRR_HELD |= 1 << index;
+ DPAA_PER_LCORE_DQRR_HELD |= UINT64_C(1) << index;
DPAA_PER_LCORE_DQRR_MBUF(index) = ctx->op->sym->m_src;
ev->impl_opaque = index + 1;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:46.352344293 +0000
+++ 0112-crypto-dpaa_sec-fix-bitmask-truncation.patch 2025-02-12 17:29:34.643947678 +0000
@@ -1 +1 @@
-From 7c18f573c1f5368f70e6e956c4ba0c6f97b19cb1 Mon Sep 17 00:00:00 2001
+From ef9b860cec31b74be5beb6693329742998f47449 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7c18f573c1f5368f70e6e956c4ba0c6f97b19cb1 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'event/dpaa: fix bitmask truncation' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (110 preceding siblings ...)
2025-02-13 9:59 ` patch 'crypto/dpaa_sec: " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/dpaa: " Kevin Traynor
` (8 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/dc4d8ee070bfd211cc3b2a4360d343e0184cbec2
Thanks.
Kevin
---
From dc4d8ee070bfd211cc3b2a4360d343e0184cbec2 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:15 -0800
Subject: [PATCH] event/dpaa: fix bitmask truncation
[ upstream commit a82888ed6edc599f82263a1bd067a7edb7cceeee ]
More bitmask truncation from mask computation.
Fixes: 0ee17f79ebd0 ("event/dpaa: add enqueue/dequeue")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/event/dpaa/dpaa_eventdev.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/event/dpaa/dpaa_eventdev.c b/drivers/event/dpaa/dpaa_eventdev.c
index 853cc1ecf9..400e0ecd1c 100644
--- a/drivers/event/dpaa/dpaa_eventdev.c
+++ b/drivers/event/dpaa/dpaa_eventdev.c
@@ -103,5 +103,5 @@ dpaa_event_enqueue_burst(void *port, const struct rte_event ev[],
mbuf = DPAA_PER_LCORE_DQRR_MBUF(i);
*dpaa_seqn(mbuf) = DPAA_INVALID_MBUF_SEQN;
- DPAA_PER_LCORE_DQRR_HELD &= ~(1 << i);
+ DPAA_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << i);
DPAA_PER_LCORE_DQRR_SIZE--;
break;
@@ -200,9 +200,9 @@ dpaa_event_dequeue_burst(void *port, struct rte_event ev[],
i = 0;
while (DPAA_PER_LCORE_DQRR_SIZE) {
- if (DPAA_PER_LCORE_DQRR_HELD & (1 << i)) {
+ if (DPAA_PER_LCORE_DQRR_HELD & (UINT64_C(1) << i)) {
qman_dca_index(i, 0);
mbuf = DPAA_PER_LCORE_DQRR_MBUF(i);
*dpaa_seqn(mbuf) = DPAA_INVALID_MBUF_SEQN;
- DPAA_PER_LCORE_DQRR_HELD &= ~(1 << i);
+ DPAA_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << i);
DPAA_PER_LCORE_DQRR_SIZE--;
}
@@ -264,9 +264,9 @@ dpaa_event_dequeue_burst_intr(void *port, struct rte_event ev[],
i = 0;
while (DPAA_PER_LCORE_DQRR_SIZE) {
- if (DPAA_PER_LCORE_DQRR_HELD & (1 << i)) {
+ if (DPAA_PER_LCORE_DQRR_HELD & (UINT64_C(1) << i)) {
qman_dca_index(i, 0);
mbuf = DPAA_PER_LCORE_DQRR_MBUF(i);
*dpaa_seqn(mbuf) = DPAA_INVALID_MBUF_SEQN;
- DPAA_PER_LCORE_DQRR_HELD &= ~(1 << i);
+ DPAA_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << i);
DPAA_PER_LCORE_DQRR_SIZE--;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:46.459154476 +0000
+++ 0113-event-dpaa-fix-bitmask-truncation.patch 2025-02-12 17:29:34.645947690 +0000
@@ -1 +1 @@
-From a82888ed6edc599f82263a1bd067a7edb7cceeee Mon Sep 17 00:00:00 2001
+From dc4d8ee070bfd211cc3b2a4360d343e0184cbec2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a82888ed6edc599f82263a1bd067a7edb7cceeee ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/dpaa: fix bitmask truncation' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (111 preceding siblings ...)
2025-02-13 9:59 ` patch 'event/dpaa: " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/dpaa2: " Kevin Traynor
` (7 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/2e4228c1adede7ccec81f73b159cab4eef389901
Thanks.
Kevin
---
From 2e4228c1adede7ccec81f73b159cab4eef389901 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:16 -0800
Subject: [PATCH] net/dpaa: fix bitmask truncation
[ upstream commit 8f64c187ad8e4e0b953439b2ce92d8573721eda3 ]
The dqrr_held mask is 64 bit but updates were getting truncated
because 1 is of type int (32 bit) and the result shift of int is of
type int (32 bit); therefore any value >= 32 would get truncated.
Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: 5e7455931442 ("net/dpaa: support Rx queue configurations with eventdev")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa/dpaa_rxtx.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c
index 247e7b92ba..05bd73becf 100644
--- a/drivers/net/dpaa/dpaa_rxtx.c
+++ b/drivers/net/dpaa/dpaa_rxtx.c
@@ -843,5 +843,5 @@ dpaa_rx_cb_atomic(void *event,
index = DQRR_PTR2IDX(dqrr);
DPAA_PER_LCORE_DQRR_SIZE++;
- DPAA_PER_LCORE_DQRR_HELD |= 1 << index;
+ DPAA_PER_LCORE_DQRR_HELD |= UINT64_C(1) << index;
DPAA_PER_LCORE_DQRR_MBUF(index) = mbuf;
ev->impl_opaque = index + 1;
@@ -1339,11 +1339,10 @@ dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs)
if (seqn != DPAA_INVALID_MBUF_SEQN) {
index = seqn - 1;
- if (DPAA_PER_LCORE_DQRR_HELD & (1 << index)) {
+ if (DPAA_PER_LCORE_DQRR_HELD & (UINT64_C(1) << index)) {
flags[loop] =
((index & QM_EQCR_DCA_IDXMASK) << 8);
flags[loop] |= QMAN_ENQUEUE_FLAG_DCA;
DPAA_PER_LCORE_DQRR_SIZE--;
- DPAA_PER_LCORE_DQRR_HELD &=
- ~(1 << index);
+ DPAA_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << index);
}
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:46.557270677 +0000
+++ 0114-net-dpaa-fix-bitmask-truncation.patch 2025-02-12 17:29:34.647947702 +0000
@@ -1 +1 @@
-From 8f64c187ad8e4e0b953439b2ce92d8573721eda3 Mon Sep 17 00:00:00 2001
+From 2e4228c1adede7ccec81f73b159cab4eef389901 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8f64c187ad8e4e0b953439b2ce92d8573721eda3 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/dpaa2: fix bitmask truncation' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (112 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/dpaa: " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'net/qede: fix nested loops' " Kevin Traynor
` (6 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/9faf97c9d68c31e28ee3da06801a61e50156d78c
Thanks.
Kevin
---
From 9faf97c9d68c31e28ee3da06801a61e50156d78c Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:17 -0800
Subject: [PATCH] net/dpaa2: fix bitmask truncation
[ upstream commit e4591c38b50e23fc6ac6b73803e78d49142ecf57 ]
The dqrr_held mask is 64 bit but updates were getting truncated
because 1 is of type int (32 bit) and the result shift of int is of
type int (32 bit); therefore any value >= 32 would get truncated.
Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: 2d3788631862 ("net/dpaa2: support atomic queues")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa2/dpaa2_rxtx.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/dpaa2/dpaa2_rxtx.c b/drivers/net/dpaa2/dpaa2_rxtx.c
index e3b6c7e460..e253bccecd 100644
--- a/drivers/net/dpaa2/dpaa2_rxtx.c
+++ b/drivers/net/dpaa2/dpaa2_rxtx.c
@@ -934,5 +934,5 @@ dpaa2_dev_process_atomic_event(struct qbman_swp *swp __rte_unused,
*dpaa2_seqn(ev->mbuf) = dqrr_index + 1;
DPAA2_PER_LCORE_DQRR_SIZE++;
- DPAA2_PER_LCORE_DQRR_HELD |= 1 << dqrr_index;
+ DPAA2_PER_LCORE_DQRR_HELD |= UINT64_C(1) << dqrr_index;
DPAA2_PER_LCORE_DQRR_MBUF(dqrr_index) = ev->mbuf;
}
@@ -1318,5 +1318,5 @@ dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
dqrr_index;
DPAA2_PER_LCORE_DQRR_SIZE--;
- DPAA2_PER_LCORE_DQRR_HELD &= ~(1 << dqrr_index);
+ DPAA2_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << dqrr_index);
*dpaa2_seqn(*bufs) = DPAA2_INVALID_MBUF_SEQN;
}
@@ -1576,5 +1576,5 @@ dpaa2_set_enqueue_descriptor(struct dpaa2_queue *dpaa2_q,
qbman_eq_desc_set_dca(eqdesc, 1, dq_idx, 0);
DPAA2_PER_LCORE_DQRR_SIZE--;
- DPAA2_PER_LCORE_DQRR_HELD &= ~(1 << dq_idx);
+ DPAA2_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << dq_idx);
}
*dpaa2_seqn(m) = DPAA2_INVALID_MBUF_SEQN;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:46.649500621 +0000
+++ 0115-net-dpaa2-fix-bitmask-truncation.patch 2025-02-12 17:29:34.650947720 +0000
@@ -1 +1 @@
-From e4591c38b50e23fc6ac6b73803e78d49142ecf57 Mon Sep 17 00:00:00 2001
+From 9faf97c9d68c31e28ee3da06801a61e50156d78c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e4591c38b50e23fc6ac6b73803e78d49142ecf57 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index bfb5542bbc..cad15d8f75 100644
+index e3b6c7e460..e253bccecd 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'net/qede: fix nested loops' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (113 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/dpaa2: " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'examples/l3fwd: fix socket ID check' " Kevin Traynor
` (5 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/5c535b99b879852b58acba259c847511e776b4a7
Thanks.
Kevin
---
From 5c535b99b879852b58acba259c847511e776b4a7 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:18 -0800
Subject: [PATCH] net/qede: fix nested loops
[ upstream commit c8b3833965dc84914e94776cadfc8fb48c34459b ]
Using variable in outer loop, and inner loop is obvious bug.
This bug is in base code, so likely on other platforms as well.
Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: 81dba2b2ff61 ("net/qede/base: add LLDP support")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/qede/base/ecore_dcbx.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/qede/base/ecore_dcbx.c b/drivers/net/qede/base/ecore_dcbx.c
index 31234f18cf..72bbedd65a 100644
--- a/drivers/net/qede/base/ecore_dcbx.c
+++ b/drivers/net/qede/base/ecore_dcbx.c
@@ -1364,5 +1364,5 @@ ecore_lldp_mib_update_event(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt)
enum _ecore_status_t rc = ECORE_SUCCESS;
struct lldp_received_tlvs_s tlvs;
- int i;
+ int i, j;
for (i = 0; i < LLDP_MAX_LLDP_AGENTS; i++) {
@@ -1382,7 +1382,7 @@ ecore_lldp_mib_update_event(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt)
continue;
- for (i = 0; i < MAX_TLV_BUFFER; i++)
- tlvs.tlvs_buffer[i] =
- OSAL_CPU_TO_BE32(tlvs.tlvs_buffer[i]);
+ for (j = 0; j < MAX_TLV_BUFFER; j++)
+ tlvs.tlvs_buffer[j] =
+ OSAL_CPU_TO_BE32(tlvs.tlvs_buffer[j]);
OSAL_LLDP_RX_TLVS(p_hwfn, tlvs.tlvs_buffer, tlvs.length);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:46.778581688 +0000
+++ 0116-net-qede-fix-nested-loops.patch 2025-02-12 17:29:34.652947732 +0000
@@ -1 +1 @@
-From c8b3833965dc84914e94776cadfc8fb48c34459b Mon Sep 17 00:00:00 2001
+From 5c535b99b879852b58acba259c847511e776b4a7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c8b3833965dc84914e94776cadfc8fb48c34459b ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'examples/l3fwd: fix socket ID check' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (114 preceding siblings ...)
2025-02-13 9:59 ` patch 'net/qede: fix nested loops' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'common/cnxk: fix null " Kevin Traynor
` (4 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/240570228ec5cea1bbfa64a21de1bc8ded10e3b8
Thanks.
Kevin
---
From 240570228ec5cea1bbfa64a21de1bc8ded10e3b8 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:19 -0800
Subject: [PATCH] examples/l3fwd: fix socket ID check
[ upstream commit a7216f081767c7259dd3fba5eda0ca7b0bcb4595 ]
The expression:
if ((socketid = rte_lcore_to_socket_id(lcore) != 0) &&
gets evaluated as socketid = (rte_lcore_to_socket_id(lcore) != 0)
which is not what was intended. This is goes all the way back
to first release.
Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: af75078fece3 ("first public release")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
examples/l3fwd-power/main.c | 4 ++--
examples/l3fwd/main.c | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index ae8b55924e..7957ea6c95 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -1413,6 +1413,6 @@ check_lcore_params(void)
return -1;
}
- if ((socketid = rte_lcore_to_socket_id(lcore) != 0) &&
- (numa_on == 0)) {
+ socketid = rte_lcore_to_socket_id(lcore);
+ if (socketid != 0 && numa_on == 0) {
printf("warning: lcore %u is on socket %d with numa "
"off\n", lcore, socketid);
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index 994b7dd8e5..ae3b4f6439 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -312,6 +312,7 @@ check_lcore_params(void)
return -1;
}
- if ((socketid = rte_lcore_to_socket_id(lcore) != 0) &&
- (numa_on == 0)) {
+
+ socketid = rte_lcore_to_socket_id(lcore);
+ if (socketid != 0 && numa_on == 0) {
printf("warning: lcore %u is on socket %d with numa off\n",
lcore, socketid);
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:46.862694090 +0000
+++ 0117-examples-l3fwd-fix-socket-ID-check.patch 2025-02-12 17:29:34.659947773 +0000
@@ -1 +1 @@
-From a7216f081767c7259dd3fba5eda0ca7b0bcb4595 Mon Sep 17 00:00:00 2001
+From 240570228ec5cea1bbfa64a21de1bc8ded10e3b8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a7216f081767c7259dd3fba5eda0ca7b0bcb4595 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index d279e664b3..e27b8531b5 100644
+index ae8b55924e..7957ea6c95 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'common/cnxk: fix null check' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (115 preceding siblings ...)
2025-02-13 9:59 ` patch 'examples/l3fwd: fix socket ID check' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'eal/linux: remove useless assignments' " Kevin Traynor
` (3 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/b0ebe586b2a6bca5b23ecf6709d5a3bdef962afa
Thanks.
Kevin
---
From b0ebe586b2a6bca5b23ecf6709d5a3bdef962afa Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:20 -0800
Subject: [PATCH] common/cnxk: fix null check
[ upstream commit 1bab0289c6a58c3847ffbde2718b73a9b988deca ]
The pointer mode is used then checked which is a bug reported
by PVS studio.
Fixes: bd2fd34ab86f ("common/cnxk: sync eth mode change command with firmware")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/common/cnxk/roc_bphy_cgx.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/common/cnxk/roc_bphy_cgx.c b/drivers/common/cnxk/roc_bphy_cgx.c
index 4f43605e10..6e5cfc7b1d 100644
--- a/drivers/common/cnxk/roc_bphy_cgx.c
+++ b/drivers/common/cnxk/roc_bphy_cgx.c
@@ -370,4 +370,10 @@ roc_bphy_cgx_set_link_mode(struct roc_bphy_cgx *roc_cgx, unsigned int lmac,
uint64_t scr1, scr0;
+ if (!mode)
+ return -EINVAL;
+
+ if (!roc_cgx)
+ return -EINVAL;
+
if (roc_model_is_cn9k() &&
(mode->use_portm_idx || mode->portm_idx || mode->mode_group_idx)) {
@@ -375,13 +381,7 @@ roc_bphy_cgx_set_link_mode(struct roc_bphy_cgx *roc_cgx, unsigned int lmac,
}
- if (!roc_cgx)
- return -EINVAL;
-
if (!roc_bphy_cgx_lmac_exists(roc_cgx, lmac))
return -ENODEV;
- if (!mode)
- return -EINVAL;
-
scr1 = FIELD_PREP(SCR1_ETH_CMD_ID, ETH_CMD_MODE_CHANGE) |
FIELD_PREP(SCR1_ETH_MODE_CHANGE_ARGS_SPEED, mode->speed) |
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:46.960243789 +0000
+++ 0118-common-cnxk-fix-null-check.patch 2025-02-12 17:29:34.660947779 +0000
@@ -1 +1 @@
-From 1bab0289c6a58c3847ffbde2718b73a9b988deca Mon Sep 17 00:00:00 2001
+From b0ebe586b2a6bca5b23ecf6709d5a3bdef962afa Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1bab0289c6a58c3847ffbde2718b73a9b988deca ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 882cf65474..db70bafd9b 100644
+index 4f43605e10..6e5cfc7b1d 100644
@@ -21 +22 @@
-@@ -367,4 +367,10 @@ roc_bphy_cgx_set_link_mode(struct roc_bphy_cgx *roc_cgx, unsigned int lmac,
+@@ -370,4 +370,10 @@ roc_bphy_cgx_set_link_mode(struct roc_bphy_cgx *roc_cgx, unsigned int lmac,
@@ -32 +33 @@
-@@ -372,13 +378,7 @@ roc_bphy_cgx_set_link_mode(struct roc_bphy_cgx *roc_cgx, unsigned int lmac,
+@@ -375,13 +381,7 @@ roc_bphy_cgx_set_link_mode(struct roc_bphy_cgx *roc_cgx, unsigned int lmac,
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'eal/linux: remove useless assignments' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (116 preceding siblings ...)
2025-02-13 9:59 ` patch 'common/cnxk: fix null " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'mempool: fix errno in empty create' " Kevin Traynor
` (2 subsequent siblings)
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Ariel Otilibili; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/627dd0d91a8ea518ebd49a16259eda9d14e2d091
Thanks.
Kevin
---
From 627dd0d91a8ea518ebd49a16259eda9d14e2d091 Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <ariel.otilibili@6wind.com>
Date: Mon, 13 Jan 2025 18:19:20 +0100
Subject: [PATCH] eal/linux: remove useless assignments
[ upstream commit 36128ec5d93591700b72f3fc01bfe6216eaee905 ]
Found by static analysis:
In dev_uev_socket_fd_create(), fd is assigned before a return,
and not used.
The same for the variables buf and i in dev_uev_parse().
Fixes: c2bd9367e18f ("lib: remove direct access to interrupt handle")
Fixes: 0d0f478d0483 ("eal/linux: add uevent parse and process")
Signed-off-by: Ariel Otilibili <ariel.otilibili@6wind.com>
---
lib/eal/linux/eal_dev.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/lib/eal/linux/eal_dev.c b/lib/eal/linux/eal_dev.c
index e63f24d108..be97f56424 100644
--- a/lib/eal/linux/eal_dev.c
+++ b/lib/eal/linux/eal_dev.c
@@ -130,5 +130,4 @@ dev_uev_socket_fd_create(void)
err:
close(fd);
- fd = -1;
return ret;
}
@@ -166,6 +165,4 @@ dev_uev_parse(const char *buf, struct rte_dev_event *event, int length)
*/
if (!strncmp(buf, "libudev", 7)) {
- buf += 7;
- i += 7;
return -1;
}
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:47.064526492 +0000
+++ 0119-eal-linux-remove-useless-assignments.patch 2025-02-12 17:29:34.661947785 +0000
@@ -1 +1 @@
-From 36128ec5d93591700b72f3fc01bfe6216eaee905 Mon Sep 17 00:00:00 2001
+From 627dd0d91a8ea518ebd49a16259eda9d14e2d091 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 36128ec5d93591700b72f3fc01bfe6216eaee905 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'mempool: fix errno in empty create' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (117 preceding siblings ...)
2025-02-13 9:59 ` patch 'eal/linux: remove useless assignments' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'doc: add tested platforms with NVIDIA NICs in 24.11' " Kevin Traynor
2025-02-13 9:59 ` patch 'doc: add two more tested Intel " Kevin Traynor
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Ariel Otilibili; +Cc: Chengwen Feng, Konstantin Ananyev, dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/5382502b316065bbb1abe1fdfbd97cc77bf0125f
Thanks.
Kevin
---
From 5382502b316065bbb1abe1fdfbd97cc77bf0125f Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <ariel.otilibili@6wind.com>
Date: Mon, 20 Jan 2025 13:21:55 +0100
Subject: [PATCH] mempool: fix errno in empty create
[ upstream commit a81d8ceff4e961995c78df6dbc9353dbbfbd8c32 ]
When returning from rte_mempool_set_ops_byname(), rte_errno is not set
for error exits.
The API requires rte_errno to be set in that case.
Bugzilla ID: 1559
Fixes: c2c6b2f41305 ("mempool: fix default ops for an empty mempool")
Signed-off-by: Ariel Otilibili <ariel.otilibili@6wind.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
---
lib/mempool/rte_mempool.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/mempool/rte_mempool.c b/lib/mempool/rte_mempool.c
index d8e39e5c20..1e4f24783c 100644
--- a/lib/mempool/rte_mempool.c
+++ b/lib/mempool/rte_mempool.c
@@ -929,6 +929,8 @@ rte_mempool_create_empty(const char *name, unsigned n, unsigned elt_size,
ret = rte_mempool_set_ops_byname(mp, "ring_mp_mc", NULL);
- if (ret)
+ if (ret) {
+ rte_errno = -ret;
goto exit_unlock;
+ }
/*
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:47.162088341 +0000
+++ 0120-mempool-fix-errno-in-empty-create.patch 2025-02-12 17:29:34.663947797 +0000
@@ -1 +1 @@
-From a81d8ceff4e961995c78df6dbc9353dbbfbd8c32 Mon Sep 17 00:00:00 2001
+From 5382502b316065bbb1abe1fdfbd97cc77bf0125f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a81d8ceff4e961995c78df6dbc9353dbbfbd8c32 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'doc: add tested platforms with NVIDIA NICs in 24.11' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (118 preceding siblings ...)
2025-02-13 9:59 ` patch 'mempool: fix errno in empty create' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
2025-02-13 9:59 ` patch 'doc: add two more tested Intel " Kevin Traynor
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Raslan Darawsheh; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/30cc77f4b2d07cc0e4509b65dcac7af0ed8fd69b
Thanks.
Kevin
---
From 30cc77f4b2d07cc0e4509b65dcac7af0ed8fd69b Mon Sep 17 00:00:00 2001
From: Raslan Darawsheh <rasland@nvidia.com>
Date: Tue, 3 Dec 2024 09:59:14 +0200
Subject: [PATCH] doc: add tested platforms with NVIDIA NICs in 24.11
[ upstream commit 2ac64b2c4331acc9e84e206858bc32e5590baaa1 ]
Add tested platforms with NVIDIA NICs to the 24.11 release notes.
Signed-off-by: Raslan Darawsheh <rasland@nvidia.com>
---
doc/guides/rel_notes/release_24_11.rst | 109 ++++++++++++++++++++++++-
1 file changed, 108 insertions(+), 1 deletion(-)
diff --git a/doc/guides/rel_notes/release_24_11.rst b/doc/guides/rel_notes/release_24_11.rst
index f9df63141e..4ddc8f245e 100644
--- a/doc/guides/rel_notes/release_24_11.rst
+++ b/doc/guides/rel_notes/release_24_11.rst
@@ -618,4 +618,112 @@ Tested Platforms
* Driver version(in-tree): 6.8.0-45-generic (Ubuntu24.04.1)(igc)
+* Intel\ |reg| platforms with NVIDIA\ |reg| NICs combinations
+
+ * CPU:
+
+ * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz
+ * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz
+ * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz
+ * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
+ * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz
+ * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz
+ * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v3 @ 2.30GHz
+ * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz
+ * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz
+ * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz
+
+ * OS:
+
+ * Red Hat Enterprise Linux release 9.1 (Plow)
+ * Red Hat Enterprise Linux release 8.6 (Ootpa)
+ * Red Hat Enterprise Linux release 8.4 (Ootpa)
+ * Ubuntu 22.04
+ * Ubuntu 20.04
+ * SUSE Enterprise Linux 15 SP2
+
+ * OFED:
+
+ * MLNX_OFED 24.10-0.7.0.0 and above
+
+ * DOCA:
+ * doca 2.9.0-0.4.7 and above
+
+ * upstream kernel:
+
+ * Linux 6.12.0 and above
+
+ * rdma-core:
+
+ * rdma-core-54.0 and above
+
+ * NICs
+
+ * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
+
+ * Host interface: PCI Express 4.0 x16
+ * Device ID: 15b3:101d
+ * Firmware version: 22.43.1014 and above
+
+ * NVIDIA\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G)
+
+ * Host interface: PCI Express 4.0 x8
+ * Device ID: 15b3:101f
+ * Firmware version: 26.43.1014 and above
+
+ * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G)
+
+ * Host interface: PCI Express 5.0 x16
+ * Device ID: 15b3:1021
+ * Firmware version: 28.43.1014 and above
+
+* NVIDIA\ |reg| BlueField\ |reg| SmartNIC
+
+ * NVIDIA\ |reg| BlueField\ |reg|-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:a2d6
+ * Firmware version: 24.43.1014 and above
+
+ * NVIDIA\ |reg| BlueField\ |reg|-3 P-Series DPU MT41692 - 900-9D3B6-00CV-AAB (2x200G)
+
+ * Host interface: PCI Express 5.0 x16
+ * Device ID: 15b3:a2dc
+ * Firmware version: 32.43.1014 and above
+
+ * Embedded software:
+
+ * Ubuntu 22.04
+ * MLNX_OFED 24.10-0.6.7.0 and above
+ * bf-bundle-2.9.0-90_24.10_ubuntu-22.04
+ * DPDK application running on ARM cores
+
+* IBM Power 9 platforms with NVIDIA\ |reg| NICs combinations
+
+ * CPU:
+
+ * POWER9 2.2 (pvr 004e 1202)
+
+ * OS:
+
+ * Ubuntu 20.04
+
+ * NICs:
+
+ * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx 100G MCX623106AN-CDAT (2x100G)
+
+ * Host interface: PCI Express 4.0 x16
+ * Device ID: 15b3:101d
+ * Firmware version: 22.43.1014 and above
+
+ * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G)
+
+ * Host interface: PCI Express 5.0 x16
+ * Device ID: 15b3:1021
+ * Firmware version: 28.43.1014 and above
+
+ * OFED:
+
+ * MLNX_OFED 24.10-0.7.0.0
+
24.11.1 Release Notes
---------------------
@@ -625,5 +733,4 @@ Tested Platforms
~~~~~~~~~~~~~
-* net/virtio: fix Rx checksum calculation
24.11.1 Validation
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:47.255643661 +0000
+++ 0121-doc-add-tested-platforms-with-NVIDIA-NICs-in-24.11.patch 2025-02-12 17:29:34.665947809 +0000
@@ -1 +1 @@
-From 2ac64b2c4331acc9e84e206858bc32e5590baaa1 Mon Sep 17 00:00:00 2001
+From 30cc77f4b2d07cc0e4509b65dcac7af0ed8fd69b Mon Sep 17 00:00:00 2001
@@ -6 +6 @@
-Add tested platforms with NVIDIA NICs to the 24.11 release notes.
+[ upstream commit 2ac64b2c4331acc9e84e206858bc32e5590baaa1 ]
@@ -8 +8 @@
-Cc: stable@dpdk.org
+Add tested platforms with NVIDIA NICs to the 24.11 release notes.
@@ -12,2 +12,2 @@
- doc/guides/rel_notes/release_24_11.rst | 108 +++++++++++++++++++++++++
- 1 file changed, 108 insertions(+)
+ doc/guides/rel_notes/release_24_11.rst | 109 ++++++++++++++++++++++++-
+ 1 file changed, 108 insertions(+), 1 deletion(-)
@@ -16 +16 @@
-index 8486cd986f..61349b1ca2 100644
+index f9df63141e..4ddc8f245e 100644
@@ -19,2 +19 @@
-@@ -617,2 +617,110 @@ Tested Platforms
- * Device id (pf): 8086:125b
+@@ -618,4 +618,112 @@ Tested Platforms
@@ -22 +21 @@
-+
+
@@ -129,0 +129,9 @@
++
+ 24.11.1 Release Notes
+ ---------------------
+@@ -625,5 +733,4 @@ Tested Platforms
+ ~~~~~~~~~~~~~
+
+-* net/virtio: fix Rx checksum calculation
+
+ 24.11.1 Validation
^ permalink raw reply [flat|nested] 123+ messages in thread
* patch 'doc: add two more tested Intel NICs in 24.11' has been queued to stable release 24.11.2
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
` (119 preceding siblings ...)
2025-02-13 9:59 ` patch 'doc: add tested platforms with NVIDIA NICs in 24.11' " Kevin Traynor
@ 2025-02-13 9:59 ` Kevin Traynor
120 siblings, 0 replies; 123+ messages in thread
From: Kevin Traynor @ 2025-02-13 9:59 UTC (permalink / raw)
To: Lingli Chen; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/39594cdfcb730ea667370b1e304313d10996aff3
Thanks.
Kevin
---
From 39594cdfcb730ea667370b1e304313d10996aff3 Mon Sep 17 00:00:00 2001
From: Lingli Chen <linglix.chen@intel.com>
Date: Fri, 6 Dec 2024 05:39:28 +0000
Subject: [PATCH] doc: add two more tested Intel NICs in 24.11
[ upstream commit d4831cc5c68218b7f725218a9692cb050a82055e ]
Add tested E825-C and I350 NICs to v24.11 release note.
Signed-off-by: Lingli Chen <linglix.chen@intel.com>
---
doc/guides/rel_notes/release_24_11.rst | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/doc/guides/rel_notes/release_24_11.rst b/doc/guides/rel_notes/release_24_11.rst
index 4ddc8f245e..c26fa6b761 100644
--- a/doc/guides/rel_notes/release_24_11.rst
+++ b/doc/guides/rel_notes/release_24_11.rst
@@ -544,4 +544,13 @@ Tested Platforms
* Wireless Edge DDP: 1.3.14.0
+ * Intel\ |reg| Ethernet Connection E825-C for QSFP
+
+ * Firmware version: 3.75 0x80005600 1.3643.0
+ * Device id (pf/vf): 8086:579d / 8086:1889
+ * Driver version: 2.1.0_rc23 (ice)
+ * OS Default DDP: 1.3.36.0
+ * COMMS DDP: 1.3.46.0
+ * Wireless Edge DDP: 1.3.14.0
+
* Intel\ |reg| Ethernet Network Adapter E830-XXVDA2 for OCP
@@ -618,4 +627,10 @@ Tested Platforms
* Driver version(in-tree): 6.8.0-45-generic (Ubuntu24.04.1)(igc)
+ * Intel Corporation Ethernet Server Adapter I350-T4
+
+ * Firmware version: 1.63, 0x80001001
+ * Device id (pf): 8086:1521 /8086:1520
+ * Driver version: 6.6.25-lts-240422t024020z(igb)
+
* Intel\ |reg| platforms with NVIDIA\ |reg| NICs combinations
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:47.379025980 +0000
+++ 0122-doc-add-two-more-tested-Intel-NICs-in-24.11.patch 2025-02-12 17:29:34.667947821 +0000
@@ -1 +1 @@
-From d4831cc5c68218b7f725218a9692cb050a82055e Mon Sep 17 00:00:00 2001
+From 39594cdfcb730ea667370b1e304313d10996aff3 Mon Sep 17 00:00:00 2001
@@ -6 +6 @@
-Add tested E825-C and I350 NICs to v24.11 release note.
+[ upstream commit d4831cc5c68218b7f725218a9692cb050a82055e ]
@@ -8 +8 @@
-Cc: stable@dpdk.org
+Add tested E825-C and I350 NICs to v24.11 release note.
@@ -16 +16 @@
-index 61349b1ca2..843d6500a2 100644
+index 4ddc8f245e..c26fa6b761 100644
^ permalink raw reply [flat|nested] 123+ messages in thread
* Re: patch 'crypto/openssl: fix CMAC auth context update' has been queued to stable release 24.11.2
2025-02-13 9:58 ` patch 'crypto/openssl: fix CMAC auth context update' " Kevin Traynor
@ 2025-02-13 15:18 ` Wathsala Wathawana Vithanage
0 siblings, 0 replies; 123+ messages in thread
From: Wathsala Wathawana Vithanage @ 2025-02-13 15:18 UTC (permalink / raw)
To: Kevin Traynor; +Cc: Jack Bond-Preston, hemant.agrawal, dpdk stable
[-- Attachment #1: Type: text/plain, Size: 3488 bytes --]
Thanks Kevin.
Looks good to me.
--wathsala
________________________________
From: Kevin Traynor <ktraynor@redhat.com>
Sent: Thursday, February 13, 2025 3:58 AM
To: Wathsala Wathawana Vithanage <wathsala.vithanage@arm.com>
Cc: Jack Bond-Preston <jack.bond-preston@foss.arm.com>; hemant.agrawal@nxp.com <hemant.agrawal@nxp.com>; dpdk stable <stable@dpdk.org>
Subject: patch 'crypto/openssl: fix CMAC auth context update' has been queued to stable release 24.11.2
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/25. 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
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/2ecc6d401bac097e91f52ab2137a8aed7b588c77
Thanks.
Kevin
---
From 2ecc6d401bac097e91f52ab2137a8aed7b588c77 Mon Sep 17 00:00:00 2001
From: Wathsala Vithanage <wathsala.vithanage@arm.com>
Date: Fri, 29 Nov 2024 20:20:22 +0000
Subject: [PATCH] crypto/openssl: fix CMAC auth context update
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 0241aebfa3bdc53fb36972fb116298adbdbd3957 ]
This patch removes an unnecessary cleanup of the shared CMAC context at
the end of the CMAC authentication function, which causes subsequent
calls to it to fail.
Fixes: 17d5bc6135af ("crypto/openssl: make per-QP auth context clones")
Signed-off-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
Reviewed-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/crypto/openssl/rte_openssl_pmd.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c
index d2cf20c059..b090611bd0 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd.c
@@ -1596,7 +1596,4 @@ process_auth_final:
if (CMAC_Final(ctx, dst, (size_t *)&dstlen) != 1)
goto process_auth_err;
-
- CMAC_CTX_cleanup(ctx);
-
return 0;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:38.265596425 +0000
+++ 0034-crypto-openssl-fix-CMAC-auth-context-update.patch 2025-02-12 17:29:34.304945655 +0000
@@ -1 +1 @@
-From 0241aebfa3bdc53fb36972fb116298adbdbd3957 Mon Sep 17 00:00:00 2001
+From 2ecc6d401bac097e91f52ab2137a8aed7b588c77 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 0241aebfa3bdc53fb36972fb116298adbdbd3957 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
[-- Attachment #2: Type: text/html, Size: 5341 bytes --]
^ permalink raw reply [flat|nested] 123+ messages in thread
end of thread, other threads:[~2025-02-13 15:18 UTC | newest]
Thread overview: 123+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-13 9:57 patch 'log: fix double free on cleanup' has been queued to stable release 24.11.2 Kevin Traynor
2025-02-13 9:57 ` patch 'test/ring: fix init with custom number of lcores' " Kevin Traynor
2025-02-13 9:57 ` patch 'vhost: clear ring addresses when getting vring base' " Kevin Traynor
2025-02-13 9:57 ` patch 'vhost: check GSO size validity' " Kevin Traynor
2025-02-13 9:57 ` patch 'vhost: fix log when setting max queue num' " Kevin Traynor
2025-02-13 9:57 ` patch 'vhost: reset packets count when not ready' " Kevin Traynor
2025-02-13 9:57 ` patch 'crypto/cnxk: fix build with GCC 15' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/thunderx/base: " Kevin Traynor
2025-02-13 9:57 ` patch 'examples/flow_filtering: " Kevin Traynor
2025-02-13 9:57 ` patch 'eal/x86: fix some intrinsics header include for Windows' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/ena: fix missing default LLQ policy' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/nfp: fix VF link speed' " Kevin Traynor
2025-02-13 9:57 ` patch 'test/bonding: fix active backup receive test' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/bonding: fix dedicated queue setup' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/hns3: fix mbuf freeing in simple Tx path' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/hns3: remove PVID info dump for VF' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/hns3: rename RAS module' " Kevin Traynor
2025-02-13 9:57 ` patch 'examples/flow_filtering: remove duplicate assignment' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/sfc: remove unnecessary " Kevin Traynor
2025-02-13 9:57 ` patch 'net/mlx5: fix polling CQEs' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/mlx5: fix leak of flow action data list' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/mlx5: fix unneeded stub flow table allocation' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/ixgbe: fix E610 support in flow engine' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/ixgbe/base: fix TSAM checking return value' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/ixgbe/base: remove 2.5/5G from auto-negotiation for E610' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/ixgbe/base: fix driver hang in VM' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/ixgbe/base: add missing buffer copy for ACI' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/iavf: remove reset of Tx prepare function pointer' " Kevin Traynor
2025-02-13 9:57 ` patch 'net/ice: fix memory leak in scalar Rx' " Kevin Traynor
2025-02-13 9:57 ` patch 'common/cnxk: fix atomic load in batch ops' " Kevin Traynor
2025-02-13 9:57 ` patch 'common/cnxk: fix DPI mailbox structure' " Kevin Traynor
2025-02-13 9:57 ` patch 'eventdev: fix format string data type in log messages' " Kevin Traynor
2025-02-13 9:58 ` patch 'crypto/virtio: fix redundant queue free' " Kevin Traynor
2025-02-13 9:58 ` patch 'crypto/openssl: fix CMAC auth context update' " Kevin Traynor
2025-02-13 15:18 ` Wathsala Wathawana Vithanage
2025-02-13 9:58 ` patch 'cryptodev: fix C++ include' " Kevin Traynor
2025-02-13 9:58 ` patch 'crypto/virtio: fix data queues iteration' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/octeon_ep: remove useless assignment' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/enetfec: " Kevin Traynor
2025-02-13 9:58 ` patch 'net/gve: allocate Rx QPL pages using malloc' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/nfp: fix multiple PFs check from NSP' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/nfp: fix misuse of function return values' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/nfp: fix multi-PF control flag' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/nfp: fix firmware load from flash' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/ice: fix flows handling' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/cnxk: fix NIX send header L3 type' " Kevin Traynor
2025-02-13 9:58 ` patch 'gro: fix unprocessed IPv4 packets' " Kevin Traynor
2025-02-13 9:58 ` patch 'log: fix systemd journal socket open' " Kevin Traynor
2025-02-13 9:58 ` patch 'eal/linux: fix memseg length in legacy mem init' " Kevin Traynor
2025-02-13 9:58 ` patch 'service: fix getting service lcore attributes' " Kevin Traynor
2025-02-13 9:58 ` patch 'ptr_compress: fix build with Arm SVE' " Kevin Traynor
2025-02-13 9:58 ` patch 'buildtools: fix some Python regex syntax warnings' " Kevin Traynor
2025-02-13 9:58 ` patch 'dts: fix MTU set command' " Kevin Traynor
2025-02-13 9:58 ` patch 'dts: fix pass rate edge case in results' " Kevin Traynor
2025-02-13 9:58 ` patch 'use Python raw string notation' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/af_packet: fix socket close on device stop' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/mana: do not ring short doorbell for every mbuf alloc' " Kevin Traynor
2025-02-13 9:58 ` patch 'ethdev: fix functions available in new device event' " Kevin Traynor
2025-02-13 9:58 ` patch 'vhost: add null callback checks' " Kevin Traynor
2025-02-13 9:58 ` patch 'vhost: fix FD entries cleanup' " Kevin Traynor
2025-02-13 9:58 ` patch 'build: force GCC 15 to initialize padding bits' " Kevin Traynor
2025-02-13 9:58 ` patch 'random: defer seeding to EAL init' " Kevin Traynor
2025-02-13 9:58 ` patch 'power: defer lcore variable allocation' " Kevin Traynor
2025-02-13 9:58 ` patch 'eal/x86: defer power intrinsics " Kevin Traynor
2025-02-13 9:58 ` patch 'net/bnxt: fix indication of " Kevin Traynor
2025-02-13 9:58 ` patch 'net/bnxt: fix Rx handler' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/bnxt: fix crash when representor is re-attached' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/bnxt: fix dead code' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/bnxt: fix overflow' " Kevin Traynor
2025-02-13 9:58 ` Kevin Traynor
2025-02-13 9:58 ` patch 'net/bnxt: address uninitialized variables' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/mlx5: fix Netlink socket leak' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/mlx5: adjust actions per rule limitation' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/mlx5: fix crash in non-template metadata split' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/mlx5: fix flush of non-template flow rules' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/mlx5: fix GRE flow match with SWS' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix deadlock when writing i225 register' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix infinite loop' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix bitwise operation type' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: increase PHY power up delay' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: reset loop variable' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix LTR for i225' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix typo in LTR calculation' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix unused value' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix semaphore timeout " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix iterator type' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix MAC address hash bit shift' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix data type in MAC hash' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/igc/base: fix NVM data type in bit shift' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/e1000/base: fix semaphore timeout value' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/e1000/base: correct mPHY access logic' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/e1000/base: fix iterator type' " Kevin Traynor
2025-02-13 9:58 ` patch 'net/e1000/base: fix MAC address hash bit shift' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: fix data type in MAC hash' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: fix uninitialized variable' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: fix bitwise operation type' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: fix NVM data type in bit shift' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: fix reset for 82580' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: fix unchecked return' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/e1000/base: skip management check for 82575' " Kevin Traynor
2025-02-13 9:59 ` patch 'common/idpf: fix void function returning a value' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/intel: fix void functions " Kevin Traynor
2025-02-13 9:59 ` patch 'net/intel: fix build with icx' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/hns3: fix copper port initialization' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/hns3: fix reset timeout' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/cpfl: fix representor parsing log' " Kevin Traynor
2025-02-13 9:59 ` patch 'raw/cnxk_gpio: fix file descriptor leak' " Kevin Traynor
2025-02-13 9:59 ` patch 'eal: fix devargs layers parsing out of bounds' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/qede: fix debug messages array' " Kevin Traynor
2025-02-13 9:59 ` patch 'examples/ptpclient: fix message parsing' " Kevin Traynor
2025-02-13 9:59 ` patch 'net/hinic: fix flow type bitmask overflow' " Kevin Traynor
2025-02-13 9:59 ` patch 'crypto/dpaa2_sec: fix bitmask truncation' " Kevin Traynor
2025-02-13 9:59 ` patch 'crypto/dpaa_sec: " Kevin Traynor
2025-02-13 9:59 ` patch 'event/dpaa: " Kevin Traynor
2025-02-13 9:59 ` patch 'net/dpaa: " Kevin Traynor
2025-02-13 9:59 ` patch 'net/dpaa2: " Kevin Traynor
2025-02-13 9:59 ` patch 'net/qede: fix nested loops' " Kevin Traynor
2025-02-13 9:59 ` patch 'examples/l3fwd: fix socket ID check' " Kevin Traynor
2025-02-13 9:59 ` patch 'common/cnxk: fix null " Kevin Traynor
2025-02-13 9:59 ` patch 'eal/linux: remove useless assignments' " Kevin Traynor
2025-02-13 9:59 ` patch 'mempool: fix errno in empty create' " Kevin Traynor
2025-02-13 9:59 ` patch 'doc: add tested platforms with NVIDIA NICs in 24.11' " Kevin Traynor
2025-02-13 9:59 ` patch 'doc: add two more tested Intel " Kevin Traynor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).