patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Kevin Traynor <ktraynor@redhat.com>
To: David Marchand <david.marchand@redhat.com>
Cc: Viacheslav Ovsiienko <viacheslavo@nvidia.com>,
	dpdk stable <stable@dpdk.org>
Subject: patch 'net/mlx5: fix leak in sysfs port name translation' has been queued to stable release 21.11.6
Date: Thu,  2 Nov 2023 13:12:14 +0000	[thread overview]
Message-ID: <20231102131254.315947-68-ktraynor@redhat.com> (raw)
In-Reply-To: <20231102131254.315947-1-ktraynor@redhat.com>

Hi,

FYI, your patch has been queued to stable release 21.11.6

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/08/23. 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/70b49bf5ef686e5c62d776c032627ba12050b704

Thanks.

Kevin

---
From 70b49bf5ef686e5c62d776c032627ba12050b704 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Tue, 1 Aug 2023 17:18:31 +0200
Subject: [PATCH] net/mlx5: fix leak in sysfs port name translation

[ upstream commit 1296e8d0d0fe74646fbb0339969cf3946f1ce84d ]

getline() may allocate a buffer even though it returns -1:
"""
If  *lineptr  is set to NULL before the call, then getline() will allocate
a buffer for storing the line.  This buffer should be freed by the user
program even if getline() failed.
"""

This leak has been observed on a RHEL8 system with two CX5 PF devices
(no VFs).

ASan reports:
==8899==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 120 byte(s) in 1 object(s) allocated from:
    #0 0x7fe58576aba8 in __interceptor_malloc
	(/lib64/libasan.so.5+0xefba8)
    #1 0x7fe583e866b2 in __getdelim (/lib64/libc.so.6+0x886b2)
    #2 0x327bd23 in mlx5_sysfs_switch_info
	../drivers/net/mlx5/linux/mlx5_ethdev_os.c:1084
    #3 0x3271f86 in mlx5_os_pci_probe_pf
	../drivers/net/mlx5/linux/mlx5_os.c:2282
    #4 0x3273c83 in mlx5_os_pci_probe
	../drivers/net/mlx5/linux/mlx5_os.c:2497
    #5 0x327475f in mlx5_os_net_probe
	../drivers/net/mlx5/linux/mlx5_os.c:2578
    #6 0xc6eac7 in drivers_probe
	../drivers/common/mlx5/mlx5_common.c:937
    #7 0xc6f150 in mlx5_common_dev_probe
	../drivers/common/mlx5/mlx5_common.c:1027
    #8 0xc8ef80 in mlx5_common_pci_probe
	../drivers/common/mlx5/mlx5_common_pci.c:168
    #9 0xc21b67 in rte_pci_probe_one_driver
	../drivers/bus/pci/pci_common.c:312
    #10 0xc2224c in pci_probe_all_drivers
	../drivers/bus/pci/pci_common.c:396
    #11 0xc222f4 in pci_probe ../drivers/bus/pci/pci_common.c:423
    #12 0xb71fff in rte_bus_probe ../lib/eal/common/eal_common_bus.c:78
    #13 0xbe6888 in rte_eal_init ../lib/eal/linux/eal.c:1300
    #14 0x5ec717 in main ../app/test-pmd/testpmd.c:4515
    #15 0x7fe583e38d84 in __libc_start_main (/lib64/libc.so.6+0x3ad84)

As far as why getline() errors, strace gives a hint:
8516  openat(AT_FDCWD, "/sys/class/net/enp130s0f0/phys_port_name",
	O_RDONLY) = 34
8516  fstat(34, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0
8516  read(34, 0x621000098900, 4096)    = -1 EOPNOTSUPP (Operation
	not supported)

Fixes: f8a226ed65fa ("net/mlx5: fix sysfs port name translation")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/net/mlx5/linux/mlx5_ethdev_os.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
index a22ffab3f7..dbfe00ea6d 100644
--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
@@ -1154,4 +1154,5 @@ mlx5_sysfs_switch_info(unsigned int ifindex, struct mlx5_switch_info *info)
 		line_size = getline(&port_name, &port_name_size, file);
 		if (line_size < 0) {
+			free(port_name);
 			fclose(file);
 			rte_errno = errno;
-- 
2.41.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-11-02 13:09:42.473160538 +0000
+++ 0068-net-mlx5-fix-leak-in-sysfs-port-name-translation.patch	2023-11-02 13:09:40.881163554 +0000
@@ -1 +1 @@
-From 1296e8d0d0fe74646fbb0339969cf3946f1ce84d Mon Sep 17 00:00:00 2001
+From 70b49bf5ef686e5c62d776c032627ba12050b704 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1296e8d0d0fe74646fbb0339969cf3946f1ce84d ]
+
@@ -55 +56,0 @@
-Cc: stable@dpdk.org
@@ -64 +65 @@
-index 639e629fe4..dd5a0c546d 100644
+index a22ffab3f7..dbfe00ea6d 100644
@@ -67 +68 @@
-@@ -1084,4 +1084,5 @@ mlx5_sysfs_switch_info(unsigned int ifindex, struct mlx5_switch_info *info)
+@@ -1154,4 +1154,5 @@ mlx5_sysfs_switch_info(unsigned int ifindex, struct mlx5_switch_info *info)


  parent reply	other threads:[~2023-11-02 13:14 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-02 13:11 patch 'mempool: fix default ops for an empty mempool' " Kevin Traynor
2023-11-02 13:11 ` patch 'eal/unix: fix firmware reading with external xz helper' " Kevin Traynor
2023-11-02 13:11 ` patch 'rawdev: fix device class in log message' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/bonding: fix header for C++' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/sfc: set max Rx packet length for representors' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/sfc: account for data offset on Tx' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/sfc: add missing error code indication to MAE init path' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/hns3: fix VF default MAC modified when set failed' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/hns3: fix error code for multicast resource' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/hns3: fix flushing multicast MAC address' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/hns3: fix order in NEON Rx' " Kevin Traynor
2023-11-02 13:11 ` patch 'random: initialize state for unregistered non-EAL threads' " Kevin Traynor
2023-11-02 13:11 ` patch 'bus/dpaa: fix build with asserts for GCC 13' " Kevin Traynor
2023-11-02 13:11 ` patch 'hash: align SSE lookup to scalar implementation' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/netvsc: increase VSP response timeout to 60 seconds' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/txgbe: add Tx queue maximum limit' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/txgbe: fix GRE tunnel packet checksum' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/ngbe: fix flow control' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/txgbe: reconfigure MAC Rx when link update' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/ngbe: " Kevin Traynor
2023-11-02 13:11 ` patch 'net/txgbe: keep link down after device close' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/ngbe: " Kevin Traynor
2023-11-02 13:11 ` patch 'net/txgbe: check process type in close operation' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/ngbe: " Kevin Traynor
2023-11-02 13:11 ` patch 'net/tap: use MAC address parse API instead of local parser' " Kevin Traynor
2023-11-02 13:11 ` patch 'app/testpmd: fix help string' " Kevin Traynor
2023-11-02 13:11 ` patch 'cryptodev: add missing doc for security context' " Kevin Traynor
2023-11-02 13:11 ` patch 'doc: replace code blocks with includes in security guide' " Kevin Traynor
2023-11-02 13:11 ` patch 'test/crypto: fix IV in some vectors' " Kevin Traynor
2023-11-02 13:11 ` patch 'test/crypto: skip some synchronous tests with CPU crypto' " Kevin Traynor
2023-11-02 13:11 ` patch 'test/crypto: fix typo in asym tests' " Kevin Traynor
2023-11-02 13:11 ` patch 'crypto/ipsec_mb: add dependency check for cross build' " Kevin Traynor
2023-11-02 13:11 ` patch 'eventdev: fix symbol export for port maintenance' " Kevin Traynor
2023-11-02 13:11 ` patch 'bus/pci: fix device ID log' " Kevin Traynor
2023-11-02 13:11 ` patch 'event/cnxk: fix getwork mode devargs parsing' " Kevin Traynor
2023-11-02 13:11 ` patch 'event/cnxk: fix return values for capability API' " Kevin Traynor
2023-11-02 13:11 ` patch 'test/event: fix crypto null device creation' " Kevin Traynor
2023-11-02 13:11 ` patch 'event/sw: remove obsolete comment' " Kevin Traynor
2023-11-02 13:11 ` patch 'eventdev/eth_rx: fix timestamp field register in mbuf' " Kevin Traynor
2023-11-02 13:11 ` patch 'event/sw: fix ordering corruption with op release' " Kevin Traynor
2023-11-02 13:11 ` patch 'common/cnxk: fix default flow action setting' " Kevin Traynor
2023-11-02 13:11 ` patch 'common/cnxk: fix xstats for different packet sizes' " Kevin Traynor
2023-11-02 13:11 ` patch 'common/cnxk: fix different size bit operations' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/cnxk: fix uninitialized variable' " Kevin Traynor
2023-11-02 13:11 ` Kevin Traynor
2023-11-02 13:11 ` patch 'common/cnxk: fix DPI memzone name' " Kevin Traynor
2023-11-02 13:11 ` patch 'dma/cnxk: fix device state' " Kevin Traynor
2023-11-02 13:11 ` patch 'mempool/cnxk: fix free from non-EAL threads' " Kevin Traynor
2023-11-02 13:11 ` patch 'common/cnxk: fix aura disable handling' " Kevin Traynor
2023-11-02 13:11 ` patch 'common/cnxk: remove dead Meson code' " Kevin Traynor
2023-11-02 13:11 ` patch 'baseband/acc: fix ACC100 HARQ input alignment' " Kevin Traynor
2023-11-02 13:11 ` patch 'app/bbdev: fix link with NXP LA12XX' " Kevin Traynor
2023-11-02 13:11 ` patch 'net/i40e: fix FDIR queue receives broadcast packets' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/ice: write timestamp to first segment in scattered Rx' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/iavf: fix VLAN offload strip flag' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/iavf: fix checksum offloading' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/i40e: fix buffer leak on Rx reconfiguration' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/ice: fix TM configuration clearing' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/iavf: fix port stats " Kevin Traynor
2023-11-02 13:12 ` patch 'net/iavf: unregister interrupt handler before FD close' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/iavf: fix ESN session update' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/ice: fix initial link status' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/iavf: fix Tx debug' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/iavf: remove log from Tx prepare function' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/iavf: fix TSO with big segments' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/ice: remove log from Tx prepare function' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/ice: fix TSO with big segments' " Kevin Traynor
2023-11-02 13:12 ` Kevin Traynor [this message]
2023-11-02 13:12 ` patch 'fib: fix adding default route overwriting entire table' " Kevin Traynor
2023-11-02 13:12 ` patch 'fib6: fix adding default route as first route' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/af_packet: fix Rx and Tx queue state' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/af_xdp: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/avp: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/bnx2x: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/bnxt: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/bonding: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/cxgbe: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/dpaa: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/dpaa2: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/e1000: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/ena: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/enetc: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/enic: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/hinic: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/ipn3ke: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/memif: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/mlx4: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/mvneta: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/mvpp2: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/ngbe: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/null: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/octeon_ep: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/pfe: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/ring: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/sfc: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/softnic: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/txgbe: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/vhost: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/virtio: " Kevin Traynor
2023-11-02 13:12 ` patch 'net/vmxnet3: " Kevin Traynor
2023-11-02 13:12 ` patch 'app/testpmd: fix primary process not polling all queues' " Kevin Traynor
2023-11-02 13:12 ` patch 'net/bonding: fix link status callback stop' " Kevin Traynor
2023-11-02 13:12 ` patch 'app/procinfo: remove unnecessary rte_malloc' " Kevin Traynor
2023-11-02 13:12 ` patch 'malloc: remove return from void functions' " 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=20231102131254.315947-68-ktraynor@redhat.com \
    --to=ktraynor@redhat.com \
    --cc=david.marchand@redhat.com \
    --cc=stable@dpdk.org \
    --cc=viacheslavo@nvidia.com \
    /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).