From: "Jake Freeland" <jfree@freebsd.org>
To: <luca.boccassi@gmail.com>
Cc: "Anatoly Burakov" <anatoly.burakov@intel.com>,
"dpdk stable" <stable@dpdk.org>
Subject: Re: patch 'bus/pci/bsd: fix device existence check' has been queued to stable release 22.11.9
Date: Tue, 17 Jun 2025 13:38:03 -0500 [thread overview]
Message-ID: <DAP0Z3DDCOE7.2JREEBADQB1L8@freebsd.org> (raw)
In-Reply-To: <20250612210733.2506558-65-luca.boccassi@gmail.com>
On Thu Jun 12, 2025 at 4:07 PM CDT, luca.boccassi wrote:
> Hi,
>
> FYI, your patch has been queued to stable release 22.11.9
>
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 06/14/25. 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.
I'm a little late, but the rebase diff looks good to me.
Thanks,
Jake Freeland
> Queued patches are on a temporary branch at:
> https://github.com/bluca/dpdk-stable
>
> This queued commit can be viewed at:
> https://github.com/bluca/dpdk-stable/commit/605117a0ccd604b73b4de19fadd24e228329a930
>
> Thanks.
>
> Luca Boccassi
>
> ---
> From 605117a0ccd604b73b4de19fadd24e228329a930 Mon Sep 17 00:00:00 2001
> From: Jake Freeland <jfree@freebsd.org>
> Date: Tue, 6 May 2025 12:40:44 -0500
> Subject: [PATCH] bus/pci/bsd: fix device existence check
>
> [ upstream commit 6d4e6dbccc3bd965bfd5e5836d7cb21c1b1f9c6c ]
>
> Use open(2) instead of access(2) to check for the existence of the target
> device. This avoids a possible race condition where the device file is
> removed after a successful call to access(2) but before open(2).
>
> This also fixes any potential bugs associated with passing open(2)-style
> flags into access(2). i.e. access(2) does not formally support the O_RDWR
> flag.
>
> Fixes: 764bf26873b9 ("add FreeBSD support")
>
> Signed-off-by: Jake Freeland <jfree@freebsd.org>
> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
> ---
> drivers/bus/pci/bsd/pci.c | 17 ++++++++++++-----
> 1 file changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/bus/pci/bsd/pci.c b/drivers/bus/pci/bsd/pci.c
> index 7459d15c7e..b11cfdd450 100644
> --- a/drivers/bus/pci/bsd/pci.c
> +++ b/drivers/bus/pci/bsd/pci.c
> @@ -105,20 +105,27 @@ pci_uio_alloc_resource(struct rte_pci_device *dev,
> {
> char devname[PATH_MAX]; /* contains the /dev/uioX */
> struct rte_pci_addr *loc;
> + int fd;
>
> loc = &dev->addr;
>
> snprintf(devname, sizeof(devname), "/dev/uio@pci:%u:%u:%u",
> dev->addr.bus, dev->addr.devid, dev->addr.function);
>
> - if (access(devname, O_RDWR) < 0) {
> - RTE_LOG(WARNING, EAL, " "PCI_PRI_FMT" not managed by UIO driver, "
> - "skipping\n", loc->domain, loc->bus, loc->devid, loc->function);
> - return 1;
> + fd = open(devname, O_RDWR);
> + if (fd < 0) {
> + if (errno == ENOENT) {
> + RTE_LOG(WARNING, EAL, PCI_PRI_FMT" not managed by UIO driver, skipping\n",
> + loc->domain, loc->bus, loc->devid, loc->function);
> + return 1;
> + }
> + RTE_LOG(ERR, EAL, "Failed to open device file for " PCI_PRI_FMT " (%s)\n",
> + loc->domain, loc->bus, loc->devid, loc->function, devname);
> + return -1;
> }
>
> /* save fd if in primary process */
> - if (rte_intr_fd_set(dev->intr_handle, open(devname, O_RDWR))) {
> + if (rte_intr_fd_set(dev->intr_handle, fd)) {
> RTE_LOG(WARNING, EAL, "Failed to save fd");
> goto error;
> }
next prev parent reply other threads:[~2025-06-17 18:38 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-12 21:06 patch 'net/i40e/base: remove unused variables' " luca.boccassi
2025-06-12 21:06 ` patch 'ci: bump tested distributions in GHA' " luca.boccassi
2025-06-12 21:06 ` patch 'net/fm10k/base: fix compilation warnings' " luca.boccassi
2025-06-12 21:06 ` patch 'net/ixgbe/base: correct definition of endianness macro' " luca.boccassi
2025-06-12 21:06 ` patch 'net/ixgbe/base: fix compilation warnings' " luca.boccassi
2025-06-12 21:06 ` patch 'net/i40e/base: fix unused value " luca.boccassi
2025-06-12 21:06 ` patch 'net/i40e/base: fix compiler " luca.boccassi
2025-06-12 21:06 ` patch 'acl: fix build with GCC 15 on aarch64' " luca.boccassi
2025-06-12 21:06 ` patch 'eal/linux: improve ASLR check' " luca.boccassi
2025-06-12 21:06 ` patch 'net/e1000: fix xstats name' " luca.boccassi
2025-06-12 21:06 ` patch 'net/e1000: fix EEPROM dump' " luca.boccassi
2025-06-12 21:06 ` patch 'net/ixgbe: fix port mask default value in filter' " luca.boccassi
2025-06-12 21:06 ` patch 'net/e1000: fix igb Tx queue offloads capability' " luca.boccassi
2025-06-12 21:06 ` patch 'vhost/crypto: fix cipher data length' " luca.boccassi
2025-06-12 21:06 ` patch 'crypto/virtio: fix cipher data source " luca.boccassi
2025-06-12 21:06 ` patch 'app/crypto-perf: fix AAD offset alignment' " luca.boccassi
2025-06-12 21:06 ` patch 'crypto/qat: fix out-of-place header bytes in AEAD raw API' " luca.boccassi
2025-06-12 21:06 ` patch 'crypto/qat: fix out-of-place chain/cipher/auth headers' " luca.boccassi
2025-06-12 21:06 ` patch 'net/mlx5: fix header modify action on group 0' " luca.boccassi
2025-06-12 21:06 ` patch 'net/mlx5: validate GTP PSC QFI width' " luca.boccassi
2025-06-12 21:06 ` patch 'net/mlx5: fix counter service cleanup on init failure' " luca.boccassi
2025-06-12 21:06 ` patch 'net/mlx5: remove unsupported flow meter action in HWS' " luca.boccassi
2025-06-12 21:06 ` patch 'net/mlx5: fix maximal queue size query' " luca.boccassi
2025-06-12 21:06 ` patch 'net/mlx5: align PF and VF/SF MAC address handling' " luca.boccassi
2025-06-12 21:06 ` patch 'app/testpmd: fix RSS hash key update' " luca.boccassi
2025-06-12 21:06 ` patch 'net/af_xdp: fix use after free in zero-copy Tx' " luca.boccassi
2025-06-12 21:06 ` patch 'net/hns3: fix integer overflow in interrupt unmap' " luca.boccassi
2025-06-12 21:06 ` patch 'net/hns3: fix memory leak on failure' " luca.boccassi
2025-06-12 21:06 ` patch 'net/hns3: fix extra wait for link up' " luca.boccassi
2025-06-12 21:06 ` patch 'net/hns3: fix memory leak for indirect flow action' " luca.boccassi
2025-06-12 21:06 ` patch 'net/hns3: fix interrupt rollback' " luca.boccassi
2025-06-12 21:06 ` patch 'net/hns3: fix divide by zero' " luca.boccassi
2025-06-12 21:06 ` patch 'net/hns3: fix resources release on reset' " luca.boccassi
2025-06-12 21:06 ` patch 'net/qede: fix use after free' " luca.boccassi
2025-06-12 21:06 ` patch 'bus/fslmc: " luca.boccassi
2025-06-12 21:06 ` patch 'net/null: fix packet copy' " luca.boccassi
2025-06-12 21:06 ` patch 'bus/vmbus: align ring buffer data to page boundary' " luca.boccassi
2025-06-12 21:06 ` patch 'bus/vmbus: use Hyper-V page size' " luca.boccassi
2025-06-12 21:06 ` patch 'net/netvsc: " luca.boccassi
2025-06-12 21:06 ` patch 'net/netvsc: add stats counters from VF' " luca.boccassi
2025-06-12 21:06 ` patch 'app/testpmd: relax number of TCs in DCB command' " luca.boccassi
2025-06-12 21:06 ` patch 'net/mana: check vendor ID when probing RDMA device' " luca.boccassi
2025-06-12 21:07 ` patch 'net/hns3: fix CRC data segment' " luca.boccassi
2025-06-12 21:07 ` patch 'net/tap: fix qdisc add failure handling' " luca.boccassi
2025-06-12 21:07 ` patch 'net/mlx5: fix VLAN stripping on hairpin queue' " luca.boccassi
2025-06-12 21:07 ` patch 'mem: fix lockup on address space shortage' " luca.boccassi
2025-06-12 21:07 ` patch 'test/malloc: improve resiliency' " luca.boccassi
2025-06-12 21:07 ` patch 'trace: fix overflow in per-lcore trace buffer' " luca.boccassi
2025-06-12 21:07 ` patch 'common/cnxk: fix E-tag pattern parsing' " luca.boccassi
2025-06-12 21:07 ` patch 'common/cnxk: fix CQ tail drop' " luca.boccassi
2025-06-12 21:07 ` patch 'net/cnxk: fix descriptor count update on reconfig' " luca.boccassi
2025-06-12 21:07 ` patch 'ethdev: fix error struct in flow configure' " luca.boccassi
2025-06-12 21:07 ` patch 'net/ice/base: fix integer overflow' " luca.boccassi
2025-06-12 21:07 ` patch 'net/ice/base: fix typo in device ID description' " luca.boccassi
2025-06-12 21:07 ` patch 'common/dpaax: fix PDCP key command race condition' " luca.boccassi
2025-06-12 21:07 ` patch 'common/dpaax: fix PDCP AES only 12-bit SN' " luca.boccassi
2025-06-12 21:07 ` patch 'crypto/virtio: add request check on request side' " luca.boccassi
2025-06-12 21:07 ` patch 'crypto/virtio: fix driver cleanup' " luca.boccassi
2025-06-12 21:07 ` patch 'ethdev: keep promiscuous/allmulti value before disabling' " luca.boccassi
2025-06-12 21:07 ` patch 'eal: fix return value of lcore role' " luca.boccassi
2025-06-12 21:07 ` patch 'eal: warn if no lcore is available' " luca.boccassi
2025-06-12 21:07 ` patch 'bus: cleanup device lists' " luca.boccassi
2025-06-12 21:07 ` patch 'eal/linux: unregister alarm callback before free' " luca.boccassi
2025-06-12 21:07 ` patch 'eal/freebsd: " luca.boccassi
2025-06-12 21:07 ` patch 'bus/pci/bsd: fix device existence check' " luca.boccassi
2025-06-17 18:38 ` Jake Freeland [this message]
2025-06-12 21:07 ` patch 'power/intel_uncore: fix crash closing uninitialized driver' " luca.boccassi
2025-06-12 21:07 ` patch 'pcapng: fix null dereference in close' " luca.boccassi
2025-06-12 21:07 ` patch 'net/mlx5: avoid setting kernel MTU if not needed' " luca.boccassi
2025-06-12 21:07 ` patch 'net/mlx5: fix hypervisor detection in VLAN workaround' " luca.boccassi
2025-06-12 21:07 ` patch 'net/hns3: check requirement for hardware GRO' " luca.boccassi
2025-06-12 21:07 ` patch 'net/hns3: allow Tx vector when fast free not enabled' " luca.boccassi
2025-06-12 21:07 ` patch 'net/hns3: allow Rx vector mode with VLAN filter' " luca.boccassi
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=DAP0Z3DDCOE7.2JREEBADQB1L8@freebsd.org \
--to=jfree@freebsd.org \
--cc=anatoly.burakov@intel.com \
--cc=luca.boccassi@gmail.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).