netfilter: fix panic on ip_conntrack_h323 with CONFIG_IP_NF_CT_ACCT
Subsystems (3)
PATCH 1/1 netfilter: fix panic on ip_conntrack_h323 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. ago.
The patch uses ip_ct_refresh() instead of ip_ct_refresh_acct() to avoid double accounting (suggested by Patrick McHardy).
net/ipv4/netfilter/ip_conntrack_helper_h323.c +2 -2
@@ -1417,7 +1417,7 @@ static int process_rcf(struct sk_buff **DEBUGP ("ip_ct_ras: set RAS connection timeout to %u seconds\n" , info->timeout); -ip_ct_refresh_acct (ct, ctinfo,NULL , info->timeout *HZ ); +ip_ct_refresh (ct, *pskb, info->timeout *HZ );/* Set expect timeout */ read_lock_bh (&ip_conntrack_lock);
@@ -1465,7 +1465,7 @@ static int process_urq(struct sk_buff ** info->sig_port[!dir] =0 ;/* 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 ; }
Quoted 8 lines · Faidon Liambotis
H.323 connection tracking code calls
ip_ct_refresh_acct()when processing RCFs and URQs but passes NULL as the skb.
WhenCONFIG_IP_NF_CT_ACCTis enabled, the connection tracking core tries to derefence the skb, which results in an obvious panic. ago.The patch uses
ip_ct_refresh()instead ofip_ct_refresh_acct()to avoid double accounting (suggested by Patrick McHardy).
Thanks, I already fixed up your first patch and sent it upstream/to -stable after loosing hope to hear back from you :)