[dpdk-stable] patch 'bus/pci: fix allocation of device path' has been queued to LTS release 17.11.5

Yongseok Koh yskoh at mellanox.com
Fri Nov 30 00:12:00 CET 2018


Hi,

FYI, your patch has been queued to LTS release 17.11.5

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/01/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.

Yongseok

---
>From 6da495fe52f2ab24989936b520899ed805236e2b Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit at intel.com>
Date: Fri, 23 Nov 2018 00:29:45 +0000
Subject: [PATCH] bus/pci: fix allocation of device path

[ upstream commit d3110b124af64199b0901223c7e0117f7480480f ]

The pci_resource_by_index called strlen() on uninitialized
memory which would lead to the wrong size of memory allocated
for the path portion of the resource map. This would either cause
excessively large allocation, or worse memory corruption.

Coverity issue: 300868
Fixes: ea9d56226e72 ("pci: introduce function to map uio resource by index")

Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko at solarflare.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>
---
 drivers/bus/pci/linux/pci_uio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/bus/pci/linux/pci_uio.c b/drivers/bus/pci/linux/pci_uio.c
index 92b7f0275..39176ac73 100644
--- a/drivers/bus/pci/linux/pci_uio.c
+++ b/drivers/bus/pci/linux/pci_uio.c
@@ -328,7 +328,7 @@ pci_uio_map_resource_by_index(struct rte_pci_device *dev, int res_idx,
 			loc->function, res_idx);
 
 	/* allocate memory to keep path */
-	maps[map_idx].path = rte_malloc(NULL, strlen(devname) + 1, 0);
+	maps[map_idx].path = rte_malloc(NULL, sizeof(devname), 0);
 	if (maps[map_idx].path == NULL) {
 		RTE_LOG(ERR, EAL, "Cannot allocate memory for path: %s\n",
 				strerror(errno));
-- 
2.11.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 15:01:50.703693290 -0800
+++ 0126-bus-pci-fix-allocation-of-device-path.patch	2018-11-29 15:01:45.334958000 -0800
@@ -1,8 +1,10 @@
-From d3110b124af64199b0901223c7e0117f7480480f Mon Sep 17 00:00:00 2001
+From 6da495fe52f2ab24989936b520899ed805236e2b Mon Sep 17 00:00:00 2001
 From: Ferruh Yigit <ferruh.yigit at intel.com>
 Date: Fri, 23 Nov 2018 00:29:45 +0000
 Subject: [PATCH] bus/pci: fix allocation of device path
 
+[ upstream commit d3110b124af64199b0901223c7e0117f7480480f ]
+
 The pci_resource_by_index called strlen() on uninitialized
 memory which would lead to the wrong size of memory allocated
 for the path portion of the resource map. This would either cause
@@ -10,7 +12,6 @@
 
 Coverity issue: 300868
 Fixes: ea9d56226e72 ("pci: introduce function to map uio resource by index")
-Cc: stable at dpdk.org
 
 Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
 Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
@@ -21,11 +22,11 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/bus/pci/linux/pci_uio.c b/drivers/bus/pci/linux/pci_uio.c
-index a7c14421a..09ecbb7aa 100644
+index 92b7f0275..39176ac73 100644
 --- a/drivers/bus/pci/linux/pci_uio.c
 +++ b/drivers/bus/pci/linux/pci_uio.c
-@@ -296,7 +296,7 @@ pci_uio_map_resource_by_index(struct rte_pci_device *dev, int res_idx,
- 	maps = uio_res->maps;
+@@ -328,7 +328,7 @@ pci_uio_map_resource_by_index(struct rte_pci_device *dev, int res_idx,
+ 			loc->function, res_idx);
  
  	/* allocate memory to keep path */
 -	maps[map_idx].path = rte_malloc(NULL, strlen(devname) + 1, 0);


More information about the stable mailing list