From: Kevin Traynor <ktraynor@redhat.com>
To: Nitin Saxena <nitin.saxena@caviumnetworks.com>
Cc: Jerin Jacob <jerin.jacob@caviumnetworks.com>,
Anoob Joseph <anoob.joseph@caviumnetworks.com>,
dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/octeontx: fix mbuf corruption with large private sizes' has been queued to stable release 18.08.1
Date: Thu, 29 Nov 2018 13:20:23 +0000 [thread overview]
Message-ID: <20181129132128.7609-23-ktraynor@redhat.com> (raw)
In-Reply-To: <20181129132128.7609-1-ktraynor@redhat.com>
Hi,
FYI, your patch has been queued to stable release 18.08.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. 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. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.
Thanks.
Kevin Traynor
---
>From 880234be51cf1911645a7fd65305e0dbc553539a Mon Sep 17 00:00:00 2001
From: Nitin Saxena <nitin.saxena@caviumnetworks.com>
Date: Mon, 12 Nov 2018 17:54:09 +0000
Subject: [PATCH] net/octeontx: fix mbuf corruption with large private sizes
[ upstream commit 679dfdc96ef9ae0b1a54098fc19986f93621c8cb ]
When the priv_size of the mbuf is > 128 bytes, the mbuf would not be
properly constructed. This would lead to a corrupt mbuf.
This patch fixes the issue by accounting for
rte_pktmbuf_priv_size(pool) and RTE_PKTMBUF_HEADROOM
while configuring first skip register calculation.
Fixes: 197438ee9f18 ("net/octeontx: add Rx queue setup and release ops")
Suggested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
Signed-off-by: Nitin Saxena <nitin.saxena@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
drivers/net/octeontx/base/octeontx_pki_var.h | 13 +++++++++++--
drivers/net/octeontx/octeontx_ethdev.c | 3 ++-
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/drivers/net/octeontx/base/octeontx_pki_var.h b/drivers/net/octeontx/base/octeontx_pki_var.h
index c793b655a..f4661d24e 100644
--- a/drivers/net/octeontx/base/octeontx_pki_var.h
+++ b/drivers/net/octeontx/base/octeontx_pki_var.h
@@ -8,6 +8,15 @@
#include <rte_byteorder.h>
-#define OCTTX_PACKET_WQE_SKIP 128
-#define OCTTX_PACKET_FIRST_SKIP 240
+#define OCTTX_PACKET_WQE_SKIP 128
+#define OCTTX_PACKET_FIRST_SKIP_MAXREGVAL 496
+#define OCTTX_PACKET_FIRST_SKIP_MAXLEN 512
+#define OCTTX_PACKET_FIRST_SKIP_ADJUST(x) \
+ (RTE_MIN(x, OCTTX_PACKET_FIRST_SKIP_MAXREGVAL))
+#define OCTTX_PACKET_FIRST_SKIP_SUM(p) \
+ (OCTTX_PACKET_WQE_SKIP \
+ + rte_pktmbuf_priv_size(p) \
+ + RTE_PKTMBUF_HEADROOM)
+#define OCTTX_PACKET_FIRST_SKIP(p) \
+ OCTTX_PACKET_FIRST_SKIP_ADJUST(OCTTX_PACKET_FIRST_SKIP_SUM(p))
#define OCTTX_PACKET_LATER_SKIP 128
diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
index 0f3d5d673..328187c70 100644
--- a/drivers/net/octeontx/octeontx_ethdev.c
+++ b/drivers/net/octeontx/octeontx_ethdev.c
@@ -853,8 +853,9 @@ octeontx_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t qidx,
pktbuf_conf.wqe_skip = OCTTX_PACKET_WQE_SKIP;
- pktbuf_conf.first_skip = OCTTX_PACKET_FIRST_SKIP;
+ pktbuf_conf.first_skip = OCTTX_PACKET_FIRST_SKIP(mb_pool);
pktbuf_conf.later_skip = OCTTX_PACKET_LATER_SKIP;
pktbuf_conf.mbuff_size = (mb_pool->elt_size -
RTE_PKTMBUF_HEADROOM -
+ rte_pktmbuf_priv_size(mb_pool) -
sizeof(struct rte_mbuf));
--
2.19.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2018-11-29 13:11:35.609879259 +0000
+++ 0022-net-octeontx-fix-mbuf-corruption-with-large-private-.patch 2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 679dfdc96ef9ae0b1a54098fc19986f93621c8cb Mon Sep 17 00:00:00 2001
+From 880234be51cf1911645a7fd65305e0dbc553539a Mon Sep 17 00:00:00 2001
From: Nitin Saxena <nitin.saxena@caviumnetworks.com>
Date: Mon, 12 Nov 2018 17:54:09 +0000
Subject: [PATCH] net/octeontx: fix mbuf corruption with large private sizes
+[ upstream commit 679dfdc96ef9ae0b1a54098fc19986f93621c8cb ]
+
When the priv_size of the mbuf is > 128 bytes, the mbuf would not be
properly constructed. This would lead to a corrupt mbuf.
@@ -11,7 +13,6 @@
while configuring first skip register calculation.
Fixes: 197438ee9f18 ("net/octeontx: add Rx queue setup and release ops")
-Cc: stable@dpdk.org
Suggested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
@@ -45,10 +46,10 @@
#define OCTTX_PACKET_LATER_SKIP 128
diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
-index 068148624..a3063be42 100644
+index 0f3d5d673..328187c70 100644
--- a/drivers/net/octeontx/octeontx_ethdev.c
+++ b/drivers/net/octeontx/octeontx_ethdev.c
-@@ -845,8 +845,9 @@ octeontx_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t qidx,
+@@ -853,8 +853,9 @@ octeontx_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t qidx,
pktbuf_conf.wqe_skip = OCTTX_PACKET_WQE_SKIP;
- pktbuf_conf.first_skip = OCTTX_PACKET_FIRST_SKIP;
next prev parent reply other threads:[~2018-11-29 13:22 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/i40e: fix Rx instability with vector mode' " Kevin Traynor
2018-11-29 13:30 ` Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/vmxnet3: fix hot-unplug' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/e1000/base: fix uninitialized variable' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/ixgbe: stop link setup alarm handler before start' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbevf: add PCI uninitialization for VF' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: check Rx config before doing VLAN strip offload' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: fix check for redefined match items' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: increase completion wait time for flow operations' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: fix wrong ingress port value set in filter spec' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/thunderx: fix Tx desc corruption in scatter-gather mode' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'vhost: fix IOVA access for packed ring' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/virtio-user: fix typo in error message' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'vhost/crypto: fix packet copy in chaining mode' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/virtio: fix unchecked return value' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'vhost: remove unneeded null pointer check' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/bnx2x: fix dynamic logging' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/bnx2x: fix VF link state update' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/bonding: fix crash when stopping mode 4 port' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: fallback quietly if pkg-config is unavailable' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/qede: fix crash when configure fails' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix L4 length for UDP checksum' " Kevin Traynor
2018-11-29 13:20 ` Kevin Traynor [this message]
2018-11-29 13:20 ` [dpdk-stable] patch 'net/qede: fix Tx tunnel offload support mask' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'ethdev: fix invalid configuration after failure' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'ethdev: fix device info getting' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/sfc/base: fix field order in filter spec struct' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/enic: fix size check in Tx prepare handler' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/ixgbevf: fix link state' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix memory leak for TM object' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix memory allocation for DSCP table' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'crypto/ccp: fix resource leak' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'crypto/aesni_mb: fix queue pair free' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'examples/l3fwd-power: fix power library fallback' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'test/power: fix ACPI cpufreq module miss " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'test/kni: fix " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'test/reorder: fix out of bound access' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'malloc: fix adjacency check to also include segment list' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'build: set -mfpu=neon flag for armv7-a with meson' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'efd: fix write unlock during ring creation' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/i40e: fix X710 Rx after reading some registers' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/ixgbe: fix maximum wait time in comment' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx4: fix minor typo' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: fix minor typos' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx4: fix initialization of struct members' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx4: optimize Tx external memory registration' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: optimize Tx doorbell write' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: optimize Rx buffer replenishment threshold' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: fix packet type for MPLS in UDP' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/ena: fix cleaning HW IO rings configuration' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/octeontx: fix failures when available ports > queues' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/avf: fix Tx offload mask' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/bonding: fix possible silent failure in configuration' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix memory leak for DSCP table' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'app/pdump: fix port id storage size' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'examples/ipv4_multicast: fix leak of cloned packets' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'test: fix interrupt check' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'test/power: skip KVM autotest if cannot run' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'test: release ring resources after PMD perf test' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'devtools: fix regex in symbol addition check' " Kevin Traynor
2018-11-30 13:55 ` Neil Horman
2018-11-30 20:36 ` Kevin Traynor
2018-12-01 19:13 ` Neil Horman
2018-11-29 13:21 ` [dpdk-stable] patch 'usertools: check for lspci dependency' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix DESTDIR variable name in meson guide' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix NUMA library name in Linux " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'doc: add cross-compilation in sample apps " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix formatting in IP reassembly app " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix function name in flow filtering " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'ipc: fix access after async request failure' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'eal: fix build with -O1' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'kni: fix possible uninitialized variable' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'net/mlx4: " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'eventdev: fix unlock in Rx adapter' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'config: enable more than 128 cores for arm64' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'net/i40e/base: fix comment referencing internal data' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'net/ena: fix out of order completion' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'net/qede: fix Tx offload mask' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'net/ixgbe: fix TDH register write' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'vhost: fix packed ring constants declaration' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'doc: remove old options from pdump guide' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'eal/bsd: fix possible IOPL fd leak' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'net/virtio: avoid annoying IOPL error log' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'bus/pci: fix allocation of device path' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'vfio: do not needlessly setup device in secondary process' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'mem: fix division by zero in no-NUMA mode' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'fix indentation in symbol maps' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'fix dpdk.org URLs' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'ethdev: eliminate interim variable' " Kevin Traynor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181129132128.7609-23-ktraynor@redhat.com \
--to=ktraynor@redhat.com \
--cc=anoob.joseph@caviumnetworks.com \
--cc=jerin.jacob@caviumnetworks.com \
--cc=nitin.saxena@caviumnetworks.com \
--cc=stable@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).