ipchains bugs in 2.2/2.4/2.5 related to netlink calls
PATCH 1/1 ipchains bugs in 2.2/2.4/2.5 related to netlink calls
Hi there!
oom-loop fixes error handling after a netlink failure - it does not do a cleanup and it makes every next call to ip_fw_check to detect a loop and drop the packet.
nlma fixes a call to netlink_broadcast with GFP_KERNEL ( passed to skb_clone ) while we are in_interrupt() ( catched by a BUG() in slab.c:1109 ).
2.4 patches apply to 2.5 too , tested on 2.5.15.
Signature · 2 lines
Best Regards, Alexander Atanasov
ipv4/netfilter/ipchains_core.c renamed from ipv4/netfilter/ipchains_core.c.orig +1 -0
@@ -723,6 +723,7 @@ src_port, dst_port, count, tcpsyn)) { ret =FW_BLOCK ; +cleanup (chain,0 , slot); goto out; }break ;
ipv4/netfilter/ipchains_core.c renamed from ipv4/netfilter/ipchains_core.c.orig +1 -1
@@ -549,7 +549,7 @@strcpy (outskb->data+sizeof (__u32)*2 , rif);memcpy (outskb->data+sizeof (__u32)*2 +IFNAMSIZ , ip, len-(sizeof (__u32)*2 +IFNAMSIZ )); - netlink_broadcast(ipfwsk, outskb, 0, ~0, GFP_KERNEL); + netlink_broadcast(ipfwsk, outskb, 0, ~0, GFP_ATOMIC); }else {#endif
ipv4/ip_fw.c renamed from ipv4/ip_fw.c.orig +1 -0
@@ -747,6 +747,7 @@ src_port, dst_port, count, tcpsyn)) { ret =FW_BLOCK ; +cleanup (chain,0 , slot); goto out; }break ;