Thread (82 messages) 82 messages, 6 authors, 2025-09-18

Re: [PATCH] lib/ethdev: fix segfault in secondary process by validating dev_private pointer

From: Khadem Ullah <hidden>
Date: 2025-07-22 16:01:59

Thanks for the follow up.
Understood. That makes sense. However, I’d like to highlight that
applications should ideally be robust and interactive enough to handle all
edge cases where a segfault or unexpected error might occur. While clear
documentation is certainly important, relying solely on it may not be
sufficient. In my view, potential segfaults should be handled explicitly in
code to ensure stability and to prevent silent failures, especially in
production environments.


On Tue, Jul 22, 2025, 20:42 Stephen Hemminger [off-list ref]
wrote:
On Tue, 22 Jul 2025 19:30:41 +0500
Khadem Ullah [off-list ref] wrote:
quoted
Hi Stephen,
Can we add only the check that fixes the segfault, or do you mean that it
should be fixed at the PMD level?

Best regards,
Khadem

On Tue, Jul 22, 2025, 18:39 Stephen Hemminger <
stephen@networkplumber.org>
quoted
wrote:
quoted
On Tue, 22 Jul 2025 07:54:39 -0400
Khadem Ullah [off-list ref] wrote:
quoted
+     if (rte_eal_process_type() == RTE_PROC_SECONDARY &&
+             (dev == NULL || dev->data == NULL ||
+             dev->data->dev_private == NULL ||
dev can't be NULL and checking it here will cause a Coverity warning.

There are many other ethdev calls that will fail if primary dies.
stats, xstats, rx/tx burst, ...

I don't think it is good idea to add checks here.
It needs to be fixed at the documentation level.
Make sure and document what applications need to do. Rather than adding
more checks in ethdev.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help