All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] eal/linux: harden uevent recv error handling
@ 2026-08-13 20:16 Randy Tice
  2026-08-13 22:57 ` Stephen Hemminger
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Randy Tice @ 2026-08-13 20:16 UTC (permalink / raw)
  To: dev; +Cc: Randy Tice

The Linux uevent handler is harded for non-blocking receive behavior

Signed-off-by: Randy Tice <rtice@cisco.com>
---
 lib/eal/linux/eal_dev.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/eal/linux/eal_dev.c b/lib/eal/linux/eal_dev.c
index ec408649d0..29a889800a 100644
--- a/lib/eal/linux/eal_dev.c
+++ b/lib/eal/linux/eal_dev.c
@@ -241,9 +241,14 @@ dev_uev_handler(__rte_unused void *param)
 
 	ret = recv(rte_intr_fd_get(intr_handle), buf, EAL_UEV_MSG_LEN,
 		   MSG_DONTWAIT);
-	if (ret < 0 && errno == EAGAIN)
+	if (ret < 0 &&
+		(errno == EAGAIN || errno == EWOULDBLOCK))
 		return;
-	else if (ret <= 0) {
+	else if (ret < 0 &&
+		 (errno == ENOBUFS || errno == ENOMEM)) {
+		EAL_LOG(ERR, "unexpected error on uvent recv: %d", errno);
+		return;
+	} else if (ret <= 0) {
 		/* connection is closed or broken, can not up again. */
 		EAL_LOG(ERR, "uevent socket connection is broken.");
 		rte_eal_alarm_set(1, dev_delayed_unregister, NULL);
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-08-20  1:41 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-13 20:16 [PATCH] eal/linux: harden uevent recv error handling Randy Tice
2026-08-13 22:57 ` Stephen Hemminger
2026-08-17 18:53 ` [PATCH v2] " Randy Tice
2026-08-17 19:23 ` [PATCH v3] " Randy Tice
2026-08-17 20:16 ` [PATCH v4] " Randy Tice
2026-08-18  2:15   ` Stephen Hemminger
2026-08-19 19:08   ` [PATCH v5 0/4] eal: uevent overrun mitigation Stephen Hemminger
2026-08-19 19:08     ` [PATCH v5 1/4] eal/linux: filter uevent Netlink in kernel Stephen Hemminger
2026-08-20  1:38       ` [EXTERNAL] " Long Li
2026-08-19 19:08     ` [PATCH v5 2/4] eal/linux: increase uevent socket buffer Stephen Hemminger
2026-08-20  1:39       ` [EXTERNAL] " Long Li
2026-08-19 19:08     ` [PATCH v5 3/4] eal/linux: report uevent socket overrun Stephen Hemminger
2026-08-20  1:41       ` [EXTERNAL] " Long Li
2026-08-19 19:08     ` [PATCH v5 4/4] doc: add warning about control threads Stephen Hemminger
2026-08-20  0:27     ` [EXTERNAL] [PATCH v5 0/4] eal: uevent overrun mitigation Long Li

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.