diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-01-09 02:38:23 -0500 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-01-09 02:38:23 -0500 |
| commit | da733563be5a9da26fe81d9f007262d00b846e22 (patch) | |
| tree | db28291df94a2043af2123911984c5c173da4e6f /net/ipv6/ip6mr.c | |
| parent | 6ccbcf2cb41131f8d56ef0723bf3f7c1f8486076 (diff) | |
| parent | dab78d7924598ea4031663dd10db814e2e324928 (diff) | |
Merge branch 'next' into for-linus
Diffstat (limited to 'net/ipv6/ip6mr.c')
| -rw-r--r-- | net/ipv6/ip6mr.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index 705c82886281..449a9185b8f2 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c | |||
| @@ -51,6 +51,7 @@ | |||
| 51 | #include <linux/pim.h> | 51 | #include <linux/pim.h> |
| 52 | #include <net/addrconf.h> | 52 | #include <net/addrconf.h> |
| 53 | #include <linux/netfilter_ipv6.h> | 53 | #include <linux/netfilter_ipv6.h> |
| 54 | #include <linux/export.h> | ||
| 54 | #include <net/ip6_checksum.h> | 55 | #include <net/ip6_checksum.h> |
| 55 | 56 | ||
| 56 | struct mr6_table { | 57 | struct mr6_table { |
| @@ -696,8 +697,10 @@ static netdev_tx_t reg_vif_xmit(struct sk_buff *skb, | |||
| 696 | int err; | 697 | int err; |
| 697 | 698 | ||
| 698 | err = ip6mr_fib_lookup(net, &fl6, &mrt); | 699 | err = ip6mr_fib_lookup(net, &fl6, &mrt); |
| 699 | if (err < 0) | 700 | if (err < 0) { |
| 701 | kfree_skb(skb); | ||
| 700 | return err; | 702 | return err; |
| 703 | } | ||
| 701 | 704 | ||
| 702 | read_lock(&mrt_lock); | 705 | read_lock(&mrt_lock); |
| 703 | dev->stats.tx_bytes += skb->len; | 706 | dev->stats.tx_bytes += skb->len; |
| @@ -2052,8 +2055,10 @@ int ip6_mr_input(struct sk_buff *skb) | |||
| 2052 | int err; | 2055 | int err; |
| 2053 | 2056 | ||
| 2054 | err = ip6mr_fib_lookup(net, &fl6, &mrt); | 2057 | err = ip6mr_fib_lookup(net, &fl6, &mrt); |
| 2055 | if (err < 0) | 2058 | if (err < 0) { |
| 2059 | kfree_skb(skb); | ||
| 2056 | return err; | 2060 | return err; |
| 2061 | } | ||
| 2057 | 2062 | ||
| 2058 | read_lock(&mrt_lock); | 2063 | read_lock(&mrt_lock); |
| 2059 | cache = ip6mr_cache_find(mrt, | 2064 | cache = ip6mr_cache_find(mrt, |
