[PATCH] net/core: fix wrong return value in __splice_segment

From: Pengtao He
Date: Wed Jul 23 2025 - 02:32:03 EST


Return true immediately when the last segment is processed,
without waiting for the next segment.

Signed-off-by: Pengtao He <hept.hept.hept@xxxxxxxxx>
---
net/core/skbuff.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index ee0274417948..cc3339ab829a 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -3114,6 +3114,9 @@ static bool __splice_segment(struct page *page, unsigned int poff,
*len -= flen;
} while (*len && plen);

+ if (!*len)
+ return true;
+
return false;
}

--
2.49.0