From 6b91f09cf683c29989ab259f4a433fb7d1427b36 Mon Sep 17 00:00:00 2001 From: Joshua Wise Date: Sat, 13 Dec 2008 20:32:46 -0500 Subject: [PATCH 1/1] Ref only the head of a pbuf chain, instead of the whole thing, to avoid leaking pbufs. --- net/3c90x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/3c90x.c b/net/3c90x.c index 7b6a72e..d405352 100644 --- a/net/3c90x.c +++ b/net/3c90x.c @@ -432,12 +432,12 @@ static void _transmit(struct nic *_nic, struct pbuf *p) len = 0; n = 0; txpbufs[txprod] = p; + pbuf_ref(p); for (; p; p = p->next) { txdescs[txprod].segments[n].addr = v2p(p->payload); txdescs[txprod].segments[n].len = p->len | (p->next ? 0 : (1 << 31)); len += p->len; - pbuf_ref(p); n++; } txdescs[txprod].hdr = len; /* If we wanted completion notification, bit 15 */ -- 2.43.0