--- zzzz-none-000/linux-2.6.28.10/net/ipv4/netfilter/ip_tables.c 2009-05-02 18:54:43.000000000 +0000 +++ fusiv-7390-686/linux-2.6.28.10/net/ipv4/netfilter/ip_tables.c 2012-02-14 14:37:49.000000000 +0000 @@ -88,9 +88,9 @@ #define FWINV(bool, invflg) ((bool) ^ !!(ipinfo->invflags & (invflg))) - if (FWINV((ip->saddr&ipinfo->smsk.s_addr) != ipinfo->src.s_addr, + if (FWINV((RD16(ip->saddr)&ipinfo->smsk.s_addr) != ipinfo->src.s_addr, IPT_INV_SRCIP) - || FWINV((ip->daddr&ipinfo->dmsk.s_addr) != ipinfo->dst.s_addr, + || FWINV((RD16(ip->daddr)&ipinfo->dmsk.s_addr) != ipinfo->dst.s_addr, IPT_INV_DSTIP)) { dprintf("Source or dest mismatch.\n");