diff options
author | glebius <glebius@FreeBSD.org> | 2014-03-11 15:43:06 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2014-03-11 15:43:06 +0000 |
commit | 71d3a4f585b759a3740834be41625b7dc0e5fb24 (patch) | |
tree | 21738f0e36adc0d336cb80148b7c296cd41323bf /contrib | |
parent | cbdb898ddfc732494e2b5679eac39b0b74443173 (diff) | |
download | FreeBSD-src-71d3a4f585b759a3740834be41625b7dc0e5fb24.zip FreeBSD-src-71d3a4f585b759a3740834be41625b7dc0e5fb24.tar.gz |
Merge r261882, r261898, r261937, r262760, r262799:
Once pf became not covered by a single mutex, many counters in it became
race prone. Some just gather statistics, but some are later used in
different calculations.
A real problem was the race provoked underflow of the states_cur counter
on a rule. Once it goes below zero, it wraps to UINT32_MAX. Later this
value is used in pf_state_expires() and any state created by this rule
is immediately expired.
Thus, make fields states_cur, states_tot and src_nodes of struct
pf_rule be counter(9)s.
Diffstat (limited to 'contrib')
0 files changed, 0 insertions, 0 deletions