[dpdk-stable] patch 'net/bonding: fix buffer length when printing strings' has been queued to LTS release 17.11.7

Yongseok Koh yskoh at mellanox.com
Tue Jul 23 03:00:34 CEST 2019


Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

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.

Thanks.

Yongseok

---
>From 2680f3696c6b9f2941b946e46600096537622bd4 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson at intel.com>
Date: Wed, 3 Apr 2019 15:45:01 +0100
Subject: [PATCH] net/bonding: fix buffer length when printing strings

[ upstream commit f4206d16429cde8af71912be357bf3e1a3f2f315 ]

Using the size of the source string is incorrect when printing using
snprintf. Instead pass in the buffer size to be used appropriately.

Fixes: 457ecf2953fc ("bond: add debug info for mode 6")

Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 728c037cae..9694cfba8b 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -507,35 +507,31 @@ uint32_t burstnumberTX;
 #ifdef RTE_LIBRTE_BOND_DEBUG_ALB
 
 static void
-arp_op_name(uint16_t arp_op, char *buf)
+arp_op_name(uint16_t arp_op, char *buf, size_t buf_len)
 {
 	switch (arp_op) {
 	case ARP_OP_REQUEST:
-		snprintf(buf, sizeof("ARP Request"), "%s", "ARP Request");
+		snprintf(buf, buf_len, "%s", "ARP Request");
 		return;
 	case ARP_OP_REPLY:
-		snprintf(buf, sizeof("ARP Reply"), "%s", "ARP Reply");
+		snprintf(buf, buf_len, "%s", "ARP Reply");
 		return;
 	case ARP_OP_REVREQUEST:
-		snprintf(buf, sizeof("Reverse ARP Request"), "%s",
-				"Reverse ARP Request");
+		snprintf(buf, buf_len, "%s", "Reverse ARP Request");
 		return;
 	case ARP_OP_REVREPLY:
-		snprintf(buf, sizeof("Reverse ARP Reply"), "%s",
-				"Reverse ARP Reply");
+		snprintf(buf, buf_len, "%s", "Reverse ARP Reply");
 		return;
 	case ARP_OP_INVREQUEST:
-		snprintf(buf, sizeof("Peer Identify Request"), "%s",
-				"Peer Identify Request");
+		snprintf(buf, buf_len, "%s", "Peer Identify Request");
 		return;
 	case ARP_OP_INVREPLY:
-		snprintf(buf, sizeof("Peer Identify Reply"), "%s",
-				"Peer Identify Reply");
+		snprintf(buf, buf_len, "%s", "Peer Identify Reply");
 		return;
 	default:
 		break;
 	}
-	snprintf(buf, sizeof("Unknown"), "%s", "Unknown");
+	snprintf(buf, buf_len, "%s", "Unknown");
 	return;
 }
 #endif
@@ -652,7 +648,8 @@ mode6_debug(const char __attribute__((unused)) *info, struct ether_hdr *eth_h,
 		arp_h = (struct arp_hdr *)((char *)(eth_h + 1) + offset);
 		ipv4_addr_to_dot(arp_h->arp_data.arp_sip, src_ip, MaxIPv4String);
 		ipv4_addr_to_dot(arp_h->arp_data.arp_tip, dst_ip, MaxIPv4String);
-		arp_op_name(rte_be_to_cpu_16(arp_h->arp_op), ArpOp);
+		arp_op_name(rte_be_to_cpu_16(arp_h->arp_op),
+				ArpOp, sizeof(ArpOp));
 		MODE6_DEBUG(buf, src_ip, dst_ip, eth_h, ArpOp, port, *burstnumber);
 	}
 #endif
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.074701294 -0700
+++ 0067-net-bonding-fix-buffer-length-when-printing-strings.patch	2019-07-22 17:55:06.217474000 -0700
@@ -1,13 +1,14 @@
-From f4206d16429cde8af71912be357bf3e1a3f2f315 Mon Sep 17 00:00:00 2001
+From 2680f3696c6b9f2941b946e46600096537622bd4 Mon Sep 17 00:00:00 2001
 From: Bruce Richardson <bruce.richardson at intel.com>
 Date: Wed, 3 Apr 2019 15:45:01 +0100
 Subject: [PATCH] net/bonding: fix buffer length when printing strings
 
+[ upstream commit f4206d16429cde8af71912be357bf3e1a3f2f315 ]
+
 Using the size of the source string is incorrect when printing using
 snprintf. Instead pass in the buffer size to be used appropriately.
 
 Fixes: 457ecf2953fc ("bond: add debug info for mode 6")
-Cc: stable at dpdk.org
 
 Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
 ---
@@ -15,10 +16,10 @@
  1 file changed, 10 insertions(+), 13 deletions(-)
 
 diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
-index 58b6e4344b..154257ffe8 100644
+index 728c037cae..9694cfba8b 100644
 --- a/drivers/net/bonding/rte_eth_bond_pmd.c
 +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
-@@ -489,35 +489,31 @@ uint32_t burstnumberTX;
+@@ -507,35 +507,31 @@ uint32_t burstnumberTX;
  #ifdef RTE_LIBRTE_BOND_DEBUG_ALB
  
  static void
@@ -62,7 +63,7 @@
  	return;
  }
  #endif
-@@ -621,7 +617,8 @@ mode6_debug(const char __attribute__((unused)) *info, struct ether_hdr *eth_h,
+@@ -652,7 +648,8 @@ mode6_debug(const char __attribute__((unused)) *info, struct ether_hdr *eth_h,
  		arp_h = (struct arp_hdr *)((char *)(eth_h + 1) + offset);
  		ipv4_addr_to_dot(arp_h->arp_data.arp_sip, src_ip, MaxIPv4String);
  		ipv4_addr_to_dot(arp_h->arp_data.arp_tip, dst_ip, MaxIPv4String);


More information about the stable mailing list