[PATCH] event/cnxk: fix segfault for null pointer access
Jerin Jacob
jerinjacobk at gmail.com
Tue Mar 24 18:21:09 CET 2026
On Wed, Mar 4, 2026 at 3:42 PM Rahul Bhansali <rbhansali at marvell.com> wrote:
>
> The field evdev_priv will have valid event dev pointer only when
> eth_rx_adapter_queue_add() is called.
> In case of poll mode tests, queue add will not be called so this
> will be NULL.
> It is fixed by having a NULL check before access.
>
> Fixes: 01a990fe40e8 ("event/cnxk: fix OOP handling in event mode")
> Cc: stable at dpdk.org
Applied to dpdk-next-eventdev/for-main. Thanks
>
> Signed-off-by: Rahul Bhansali <rbhansali at marvell.com>
> ---
> drivers/event/cnxk/cn10k_eventdev.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/event/cnxk/cn10k_eventdev.c b/drivers/event/cnxk/cn10k_eventdev.c
> index 0c1431b4e7..2e4b8aab92 100644
> --- a/drivers/event/cnxk/cn10k_eventdev.c
> +++ b/drivers/event/cnxk/cn10k_eventdev.c
> @@ -675,8 +675,12 @@ cn10k_sso_rx_offload_cb(uint16_t port_id, uint64_t flags)
> struct rte_eth_dev *dev = &rte_eth_devices[port_id];
> struct cnxk_eth_dev *cnxk_eth_dev = dev->data->dev_private;
> struct rte_eventdev *event_dev = cnxk_eth_dev->evdev_priv;
> - struct cnxk_sso_evdev *evdev = cnxk_sso_pmd_priv(event_dev);
> + struct cnxk_sso_evdev *evdev;
> +
> + if (event_dev == NULL)
> + return;
>
> + evdev = cnxk_sso_pmd_priv(event_dev);
> evdev->rx_offloads |= flags;
> cn10k_sso_fp_fns_set((struct rte_eventdev *)(uintptr_t)event_dev);
> eventdev_fops_update(event_dev);
> --
> 2.34.1
>
More information about the dev
mailing list