kp bfd9b96314 pf: Always initialise pf_fragment.fr_flags
When we allocate the struct pf_fragment in pf_fillup_fragment() we forgot to
initialise the fr_flags field. As a result we sometimes mistakenly thought the
fragment to not be a buffered fragment. This resulted in panics because we'd end
up freeing the pf_fragment but not removing it from V_pf_fragqueue (believing it
to be part of V_pf_cachequeue).
The next time we iterated V_pf_fragqueue we'd use a freed object and panic.

While here also fix a pf_fragment use after free in pf_normalize_ip().
pf_reassemble() frees the pf_fragment, so we can't use it any more.

PR:		201879, 201932
MFC after:	5 days
2015-07-29 06:35:36 +00:00
..
2015-07-25 20:17:19 +00:00
2015-07-29 06:31:44 +00:00
2015-07-22 16:25:07 +00:00
2015-07-20 08:21:51 +00:00
2015-07-14 10:47:56 +00:00
2015-05-29 14:03:07 +00:00