diff options
-rw-r--r-- | net/netfilter/nf_conntrack_core.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c index 7b1f7e80f2f8..aa042c489685 100644 --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c | |||
@@ -776,10 +776,8 @@ void __nf_ct_refresh_acct(struct nf_conn *ct, | |||
776 | write_lock_bh(&nf_conntrack_lock); | 776 | write_lock_bh(&nf_conntrack_lock); |
777 | 777 | ||
778 | /* Only update if this is not a fixed timeout */ | 778 | /* Only update if this is not a fixed timeout */ |
779 | if (test_bit(IPS_FIXED_TIMEOUT_BIT, &ct->status)) { | 779 | if (test_bit(IPS_FIXED_TIMEOUT_BIT, &ct->status)) |
780 | write_unlock_bh(&nf_conntrack_lock); | 780 | goto acct; |
781 | return; | ||
782 | } | ||
783 | 781 | ||
784 | /* If not in hash table, timer will not be active yet */ | 782 | /* If not in hash table, timer will not be active yet */ |
785 | if (!nf_ct_is_confirmed(ct)) { | 783 | if (!nf_ct_is_confirmed(ct)) { |
@@ -799,6 +797,7 @@ void __nf_ct_refresh_acct(struct nf_conn *ct, | |||
799 | } | 797 | } |
800 | } | 798 | } |
801 | 799 | ||
800 | acct: | ||
802 | #ifdef CONFIG_NF_CT_ACCT | 801 | #ifdef CONFIG_NF_CT_ACCT |
803 | if (do_acct) { | 802 | if (do_acct) { |
804 | ct->counters[CTINFO2DIR(ctinfo)].packets++; | 803 | ct->counters[CTINFO2DIR(ctinfo)].packets++; |