mirror of https://gitee.com/openkylin/linux.git
[NETFILTER]: Fix oops in conntrack event cache
ip_ct_refresh_acct() can be called without a valid "skb" pointer. This used to work, since ct_add_counters() deals with that fact. However, the recently-added event cache doesn't handle this at all. This patch is a quick fix that is supposed to be replaced soon by a cleaner solution during the pending redesign of the event cache. Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
136e92bbec
commit
a8f39143ac
|
@ -1143,7 +1143,10 @@ void ip_ct_refresh_acct(struct ip_conntrack *ct,
|
|||
if (del_timer(&ct->timeout)) {
|
||||
ct->timeout.expires = jiffies + extra_jiffies;
|
||||
add_timer(&ct->timeout);
|
||||
ip_conntrack_event_cache(IPCT_REFRESH, skb);
|
||||
/* FIXME: We loose some REFRESH events if this function
|
||||
* is called without an skb. I'll fix this later -HW */
|
||||
if (skb)
|
||||
ip_conntrack_event_cache(IPCT_REFRESH, skb);
|
||||
}
|
||||
ct_add_counters(ct, ctinfo, skb);
|
||||
write_unlock_bh(&ip_conntrack_lock);
|
||||
|
|
Loading…
Reference in New Issue