Index: patchlets/u32/linux-2.6/net/ipv4/netfilter/ipt_u32.c =================================================================== --- patchlets/u32/linux-2.6/net/ipv4/netfilter/ipt_u32.c (revision 4547) +++ patchlets/u32/linux-2.6/net/ipv4/netfilter/ipt_u32.c (working copy) @@ -166,8 +166,10 @@ case IPT_U32_AT: AttPos += val; pos = number; - if (AttPos + pos + 3 > skb->len || AttPos + pos < 0) + if (AttPos + pos + 3 > skb->len || AttPos + pos < 0) { + spin_unlock_bh(&u32_lock); return 0; + } val = (base[AttPos + pos]<<24) +(base[AttPos + pos + 1]<<16)