patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Kevin Traynor <ktraynor@redhat.com>
To: Ivan Malov <ivan.malov@oktetlabs.ru>
Cc: Andrew Rybchenko <arybchenko@solarflare.com>,
	Stephen Hemminger <stephen@networkplumber.org>,
	Konstantin Ananyev <konstantin.ananyev@intel.com>,
	dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net: fix how L4 checksum choice is tested' has been queued to LTS release 18.11.3
Date: Fri, 23 Aug 2019 10:43:15 +0100	[thread overview]
Message-ID: <20190823094336.12078-25-ktraynor@redhat.com> (raw)
In-Reply-To: <20190823094336.12078-1-ktraynor@redhat.com>

Hi,

FYI, your patch has been queued to LTS release 18.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/28/19. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/3ad4739521ccae17e04135938b55c27a4988faf0

Thanks.

Kevin Traynor

---
From 3ad4739521ccae17e04135938b55c27a4988faf0 Mon Sep 17 00:00:00 2001
From: Ivan Malov <ivan.malov@oktetlabs.ru>
Date: Fri, 28 Jun 2019 06:13:09 +0300
Subject: [PATCH] net: fix how L4 checksum choice is tested

[ upstream commit 39a94299195f3329a28a3556e2431b9d6b83b222 ]

The API to prepare checksum offloads mistreats L4
checksum type enum values as self-contained flags.

Turning these flag checks into enum checks causes
warnings by GCC about possibly uninitialised IPv4
header pointer. The issue was found to show up in
the case of GCC versions 4.8.5 and 5.4.0, however,
it might be the case for a wider variety of other
versions. Initialise the pointer upon declaration.
and explain the reason behind this in the comment.

Fixes: 4fb7e803eb1a ("ethdev: add Tx preparation")

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 lib/librte_net/rte_net.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/librte_net/rte_net.h b/lib/librte_net/rte_net.h
index a8eafa146..025acba7f 100644
--- a/lib/librte_net/rte_net.h
+++ b/lib/librte_net/rte_net.h
@@ -113,5 +113,6 @@ static inline int
 rte_net_intel_cksum_flags_prepare(struct rte_mbuf *m, uint64_t ol_flags)
 {
-	struct ipv4_hdr *ipv4_hdr;
+	/* Initialise ipv4_hdr to avoid false positive compiler warnings. */
+	struct ipv4_hdr *ipv4_hdr = NULL;
 	struct ipv6_hdr *ipv6_hdr;
 	struct tcp_hdr *tcp_hdr;
@@ -130,5 +131,5 @@ rte_net_intel_cksum_flags_prepare(struct rte_mbuf *m, uint64_t ol_flags)
 	}
 
-	if ((ol_flags & PKT_TX_UDP_CKSUM) == PKT_TX_UDP_CKSUM) {
+	if ((ol_flags & PKT_TX_L4_MASK) == PKT_TX_UDP_CKSUM) {
 		if (ol_flags & PKT_TX_IPV4) {
 			udp_hdr = (struct udp_hdr *)((char *)ipv4_hdr +
@@ -145,5 +146,5 @@ rte_net_intel_cksum_flags_prepare(struct rte_mbuf *m, uint64_t ol_flags)
 					ol_flags);
 		}
-	} else if ((ol_flags & PKT_TX_TCP_CKSUM) ||
+	} else if ((ol_flags & PKT_TX_L4_MASK) == PKT_TX_TCP_CKSUM ||
 			(ol_flags & PKT_TX_TCP_SEG)) {
 		if (ol_flags & PKT_TX_IPV4) {
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-08-22 19:38:22.094524402 +0100
+++ 0025-net-fix-how-L4-checksum-choice-is-tested.patch	2019-08-22 19:38:20.445026689 +0100
@@ -1 +1 @@
-From 39a94299195f3329a28a3556e2431b9d6b83b222 Mon Sep 17 00:00:00 2001
+From 3ad4739521ccae17e04135938b55c27a4988faf0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 39a94299195f3329a28a3556e2431b9d6b83b222 ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -29 +30 @@
-index 461f2c81d..1560ecfa4 100644
+index a8eafa146..025acba7f 100644
@@ -32 +33 @@
-@@ -114,5 +114,6 @@ static inline int
+@@ -113,5 +113,6 @@ static inline int
@@ -35 +36 @@
--	struct rte_ipv4_hdr *ipv4_hdr;
+-	struct ipv4_hdr *ipv4_hdr;
@@ -37,4 +38,4 @@
-+	struct rte_ipv4_hdr *ipv4_hdr = NULL;
- 	struct rte_ipv6_hdr *ipv6_hdr;
- 	struct rte_tcp_hdr *tcp_hdr;
-@@ -152,5 +153,5 @@ rte_net_intel_cksum_flags_prepare(struct rte_mbuf *m, uint64_t ol_flags)
++	struct ipv4_hdr *ipv4_hdr = NULL;
+ 	struct ipv6_hdr *ipv6_hdr;
+ 	struct tcp_hdr *tcp_hdr;
+@@ -130,5 +131,5 @@ rte_net_intel_cksum_flags_prepare(struct rte_mbuf *m, uint64_t ol_flags)
@@ -46,2 +47,2 @@
- 			udp_hdr = (struct rte_udp_hdr *)((char *)ipv4_hdr +
-@@ -168,5 +169,5 @@ rte_net_intel_cksum_flags_prepare(struct rte_mbuf *m, uint64_t ol_flags)
+ 			udp_hdr = (struct udp_hdr *)((char *)ipv4_hdr +
+@@ -145,5 +146,5 @@ rte_net_intel_cksum_flags_prepare(struct rte_mbuf *m, uint64_t ol_flags)

  parent reply	other threads:[~2019-08-23  9:44 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-23  9:42 [dpdk-stable] patch 'net/bnx2x: fix warnings from invalid assert' " Kevin Traynor
2019-08-23  9:42 ` [dpdk-stable] patch 'net/qede: " Kevin Traynor
2019-08-23  9:42 ` [dpdk-stable] patch 'eal: correct log for alarm error' " Kevin Traynor
2019-08-23  9:42 ` [dpdk-stable] patch 'eal/linux: fix return after alarm registration failure' " Kevin Traynor
2019-08-23  9:42 ` [dpdk-stable] patch 'kernel/freebsd: fix module build on latest head' " Kevin Traynor
2019-08-23  9:42 ` [dpdk-stable] patch 'kernel/linux: fix modules install path' " Kevin Traynor
2019-08-23 10:04   ` Igor Ryzhov
2019-08-23  9:42 ` [dpdk-stable] patch 'ip_frag: fix IPv6 fragment size calculation' " Kevin Traynor
2019-08-23  9:42 ` [dpdk-stable] patch 'test/hash: fix off-by-one check on core count' " Kevin Traynor
2019-08-23  9:42 ` [dpdk-stable] patch 'test/hash: rectify slave id to point to valid cores' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'bus/vmbus: skip non-network devices' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'bpf: fix check array size' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'eal: hide internal hotplug function' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'vfio: remove incorrect experimental tag' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'mem: remove incorrect experimental tag on static symbol' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'telemetry: add missing header include' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'eal: fix positive error codes from probe/remove' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'net/bnx2x: fix invalid free on unplug' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'drivers/net: fix double free on init failure' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'net: fix encapsulation markers for inner L3 offset' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'net/mlx5: fix 32-bit build' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'net/netvsc: fix RSS offload settings' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'net/netvsc: fix xstats id' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'net/netvsc: fix xstats for VF device' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'doc: fix typos in flow API guide' " Kevin Traynor
2019-08-23  9:43 ` Kevin Traynor [this message]
2019-08-23  9:43 ` [dpdk-stable] patch 'eal/freebsd: fix init completion' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'raw/skeleton: fix test of attribute set/get' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'examples/l3fwd-vf: remove unused Rx/Tx configuration' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'doc: remove useless Rx configuration in l2fwd guide' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'test: add rawdev autotest to meson' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'event/dpaa2: fix timeout ticks' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'eventdev: fix doxygen comment' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'app/eventdev: fix order test port creation' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'test/eventdev: fix producer core validity checks' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'net/mvneta: fix ierror statistics' " Kevin Traynor
2019-08-25 11:41   ` [dpdk-stable] [EXT] " Liron Himi
2019-08-23  9:43 ` [dpdk-stable] patch 'net: fix definition of IPv6 traffic class mask' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'examples: fix pkg-config detection with older make' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'bpf: fix validate for function return value' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'raw/ifpga/base: fix use of untrusted scalar " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'raw/ifpga/base: fix physical address info' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'usertools: fix refresh binding infos' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'doc: add a note for multi-process in mempool guide' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'table: fix crash in LPM IPv6' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'test: fix autotest crash' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'telemetry: fix build' " Kevin Traynor
2019-08-23  9:43 ` [dpdk-stable] patch 'app/testpmd: fix offloads config' " Kevin Traynor
2019-08-23  9:59   ` Kevin Traynor
2019-09-04 17:44     ` Kevin Traynor
2019-09-05  2:14       ` Zhao1, Wei
2019-09-11 14:46         ` Kevin Traynor
2019-09-13  9:27           ` Iremonger, Bernard

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=20190823094336.12078-25-ktraynor@redhat.com \
    --to=ktraynor@redhat.com \
    --cc=arybchenko@solarflare.com \
    --cc=ivan.malov@oktetlabs.ru \
    --cc=konstantin.ananyev@intel.com \
    --cc=stable@dpdk.org \
    --cc=stephen@networkplumber.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).