mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-15 10:17:20 +00:00
fix a bug in the fragment cache (used for 'scrub fragment crop/drop-ovl',
but not 'fragment reassemble'), which can cause some fragments to get inserted into the cache twice, thereby violating an invariant, and panic- ing the system subsequently. Reviewed by: mlaier MFC after: 1 day
This commit is contained in:
parent
254f2fa208
commit
31f9d10a77
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=154551
@ -824,7 +824,7 @@ pf_fragcache(struct mbuf **m0, struct ip *h, struct pf_fragment **frag, int mff,
|
||||
} else {
|
||||
hosed++;
|
||||
}
|
||||
} else {
|
||||
} else if (frp == NULL) {
|
||||
/* There is a gap between fragments */
|
||||
DPFPRINTF(("fragcache[%d]: gap %d %d-%d (%d-%d)\n",
|
||||
h->ip_id, -aftercut, off, max, fra->fr_off,
|
||||
|
Loading…
Reference in New Issue
Block a user