Index: sys/netinet/tcp_sack.c =================================================================== RCS file: /home/ncvs/src/sys/netinet/tcp_sack.c,v retrieving revision 1.3 diff -u -p -I__FBSDID -r1.3 tcp_sack.c --- sys/netinet/tcp_sack.c 17 Aug 2004 22:05:54 -0000 1.3 +++ sys/netinet/tcp_sack.c 26 Jan 2006 15:18:05 -0000 @@ -301,6 +301,7 @@ tcp_sack_option(struct tcpcb *tp, struct tp->snd_numholes = 0; if (tp->t_maxseg == 0) panic("tcp_sack_option"); /* Should never happen */ +next_block: while (tmp_olen > 0) { struct sackblk sack; @@ -390,7 +391,7 @@ tcp_sack_option(struct tcpcb *tp, struct temp = (struct sackhole *) uma_zalloc(sack_hole_zone,M_NOWAIT); if (temp == NULL) - continue; /* ENOBUFS */ + goto next_block; /* ENOBUFS */ temp->next = cur->next; temp->start = sack.end; temp->end = cur->end;