diff --git a/net/core/skbuff.c b/net/core/skbuff.c index f1b1c7f833e0..ac44b1061c0d 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -3149,7 +3149,9 @@ static bool __splice_segment(struct page *page, unsigned int poff, poff += flen; plen -= flen; *len -= flen; - } while (*len && plen); + if (!*len) + return true; + } while (plen); return false; }