]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
NETFILTER: Fix incorrect use of skb_make_writable
authorPatrick McHardy <kaber@trash.net>
Mon, 25 Feb 2008 14:01:02 +0000 (15:01 +0100)
committerChris Wright <chrisw@sous-sol.org>
Mon, 24 Mar 2008 18:47:23 +0000 (11:47 -0700)
Upstream commit eb1197bc0:

http://bugzilla.kernel.org/show_bug.cgi?id=9920
The function skb_make_writable returns true or false.

Signed-off-by: Joonwoo Park <joonwpark81@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/bridge/netfilter/ebt_dnat.c
net/bridge/netfilter/ebt_redirect.c
net/bridge/netfilter/ebt_snat.c
net/ipv4/netfilter/arpt_mangle.c

index 74262e9a566a3f7baf63779f948fb16f4dfd282f..4fa9ecfaceaa27bc1525b4d7dcbaacb8a5293fef 100644 (file)
@@ -20,7 +20,7 @@ static int ebt_target_dnat(struct sk_buff *skb, unsigned int hooknr,
 {
        struct ebt_nat_info *info = (struct ebt_nat_info *)data;
 
-       if (skb_make_writable(skb, 0))
+       if (!skb_make_writable(skb, 0))
                return NF_DROP;
 
        memcpy(eth_hdr(skb)->h_dest, info->mac, ETH_ALEN);
index 422cb834cff997eda08de86f2360c506d76b21c3..e322f10e0e6442171383eee1cb6224280c6f901a 100644 (file)
@@ -21,7 +21,7 @@ static int ebt_target_redirect(struct sk_buff *skb, unsigned int hooknr,
 {
        struct ebt_redirect_info *info = (struct ebt_redirect_info *)data;
 
-       if (skb_make_writable(skb, 0))
+       if (!skb_make_writable(skb, 0))
                return NF_DROP;
 
        if (hooknr != NF_BR_BROUTING)
index 425ac920904d7b5ddb6090e9ab338073b0ae7318..146e889ac68010a6c0d6f3d7182b66aed6ebb879 100644 (file)
@@ -22,7 +22,7 @@ static int ebt_target_snat(struct sk_buff *skb, unsigned int hooknr,
 {
        struct ebt_nat_info *info = (struct ebt_nat_info *) data;
 
-       if (skb_make_writable(skb, 0))
+       if (!skb_make_writable(skb, 0))
                return NF_DROP;
 
        memcpy(eth_hdr(skb)->h_source, info->mac, ETH_ALEN);
index 45fa4e20094a359c17130fe0ae671fa6a07c3462..3f4222b0a803bfc96dca4c0c85c306c931037090 100644 (file)
@@ -19,7 +19,7 @@ target(struct sk_buff *skb,
        unsigned char *arpptr;
        int pln, hln;
 
-       if (skb_make_writable(skb, skb->len))
+       if (!skb_make_writable(skb, skb->len))
                return NF_DROP;
 
        arp = arp_hdr(skb);