Thanks, no. Can, I ? On Wed, Jul 23, 2025, 18:24 Ivan Malov wrote: > Hi Khadem, > > On Wed, 23 Jul 2025, Khadem Ullah wrote: > > > Please check v3 of this patch. > > Checked. In the meantime, you're not overlooking to mark previous versions > [1] > with status 'SUPERSEDED' in DPDK Patchwork, are you? > > [1] > https://patches.dpdk.org/project/dpdk/patch/20250723045022.1580829-1-14pwcse1224@uetpeshawar.edu.pk/ > > > > > On Wed, Jul 23, 2025 at 5:19 PM Khadem Ullah < > 14pwcse1224@uetpeshawar.edu.pk> wrote: > > > > Secondary application not only breaking on device closing, > > it's also getting segfault when we do "show device info all" from > secondary > > after primary closes: > > testpmd> show device info all > > ********************* Infos for device 0000:03:00.0 ********************* > > Bus name: pci > > Bus information: vendor_id=15b3, device_id=101d > > Driver name: mlx5_pci > > Devargs: > > Connect to socket: 0 > > Segmentation fault (core dumped) > > This patch prevents these crashes and it seems that these fixes should > be in PMD along with the ethdev layer. Some more checks will be added in > the next version to prevent "show device i > > nfo all" crash. > > > > > > On Wed, Jul 23, 2025 at 9:50 AM Khadem Ullah < > 14pwcse1224@uetpeshawar.edu.pk> wrote: > > In secondary processes, directly accessing > 'dev->data->dev_private' can > > cause a segmentation fault if the primary process has exited or if > the > > shared memory is no longer accessible. > > > > This patch adds a safety check using rte_mem_virt2phy(), with an > > unlikely() branch hint to minimize performance impact in the fast > path. > > This ensures 'dev_private' is still valid before accessing it. > > > > Fixes: bdad90d12ec8 ("ethdev: change device info get callback to > return int") > > Cc: stable@dpdk.org > > > > Signed-off-by: Khadem Ullah <14pwcse1224@uetpeshawar.edu.pk> > > --- > > lib/ethdev/rte_ethdev.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c > > index dd7c00bc94..ef5dc55f2e 100644 > > --- a/lib/ethdev/rte_ethdev.c > > +++ b/lib/ethdev/rte_ethdev.c > > @@ -4079,6 +4079,13 @@ rte_eth_dev_info_get(uint16_t port_id, > struct rte_eth_dev_info *dev_info) > > > > if (dev->dev_ops->dev_infos_get == NULL) > > return -ENOTSUP; > > + if (rte_eal_process_type() == RTE_PROC_SECONDARY && > > + unlikely(rte_mem_virt2phy(dev->data->dev_private) > == RTE_BAD_PHYS_ADDR)) { > > + RTE_ETHDEV_LOG_LINE(ERR, > > + "Secondary: dev_private not accessible > (primary exited?)"); > > + rte_errno = ENODEV; > > + return -rte_errno; > > + } > > diag = dev->dev_ops->dev_infos_get(dev, dev_info); > > if (diag != 0) { > > /* Cleanup already filled in device information */ > > -- > > 2.43.0 > > > > > > > > -- > > Engr. Khadem Ullah, > > Software Engineer, > > Dreambig Semiconductor Inc > > https://dreambigsemi.com/ > > > > > > > > -- > > Engr. Khadem Ullah, > > Software Engineer, > > Dreambig Semiconductor Inc > > https://dreambigsemi.com/ > > > >