Commit a5812a61 authored by Patrick McHardy's avatar Patrick McHardy Committed by Chris Wright

[PATCH] NETFILTER: H.323 conntrack: fix crash with CONFIG_IP_NF_CT_ACCT

H.323 connection tracking code calls ip_ct_refresh_acct() when
processing RCFs and URQs but passes NULL as the skb.
When CONFIG_IP_NF_CT_ACCT is enabled, the connection tracking core tries
to derefence the skb, which results in an obvious panic.
A similar fix was applied on the SIP connection tracking code some time
ago.
Signed-off-by: default avatarFaidon Liambotis <paravoid@debian.org>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
parent 5cecaf35
...@@ -1417,7 +1417,7 @@ static int process_rcf(struct sk_buff **pskb, struct ip_conntrack *ct, ...@@ -1417,7 +1417,7 @@ static int process_rcf(struct sk_buff **pskb, struct ip_conntrack *ct,
DEBUGP DEBUGP
("ip_ct_ras: set RAS connection timeout to %u seconds\n", ("ip_ct_ras: set RAS connection timeout to %u seconds\n",
info->timeout); info->timeout);
ip_ct_refresh_acct(ct, ctinfo, NULL, info->timeout * HZ); ip_ct_refresh(ct, *pskb, info->timeout * HZ);
/* Set expect timeout */ /* Set expect timeout */
read_lock_bh(&ip_conntrack_lock); read_lock_bh(&ip_conntrack_lock);
...@@ -1465,7 +1465,7 @@ static int process_urq(struct sk_buff **pskb, struct ip_conntrack *ct, ...@@ -1465,7 +1465,7 @@ static int process_urq(struct sk_buff **pskb, struct ip_conntrack *ct,
info->sig_port[!dir] = 0; info->sig_port[!dir] = 0;
/* Give it 30 seconds for UCF or URJ */ /* Give it 30 seconds for UCF or URJ */
ip_ct_refresh_acct(ct, ctinfo, NULL, 30 * HZ); ip_ct_refresh(ct, *pskb, 30 * HZ);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment