diff options
author | David S. Miller <davem@davemloft.net> | 2013-07-03 17:50:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-07-03 17:55:13 -0400 |
commit | 0c1072ae0242fbdffd9a0bba36e7a7033d287f9c (patch) | |
tree | e0f4dbdbf5078d4a707911177e7bdc17a70bdce5 /net/ipv4 | |
parent | c50cd357887acf9fd7af3a5d492911bd825555a2 (diff) | |
parent | 8bb495e3f02401ee6f76d1b1d77f3ac9f079e376 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/ethernet/freescale/fec_main.c
drivers/net/ethernet/renesas/sh_eth.c
net/ipv4/gre.c
The GRE conflict is between a bug fix (kfree_skb --> kfree_skb_list)
and the splitting of the gre.c code into seperate files.
The FEC conflict was two sets of changes adding ethtool support code
in an "!CONFIG_M5272" CPP protected block.
Finally the sh_eth.c conflict was between one commit add bits set
in the .eesr_err_check mask whilst another commit removed the
.tx_error_check member and assignments.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/gre_offload.c | 2 | ||||
-rw-r--r-- | net/ipv4/netfilter/ipt_ULOG.c | 12 | ||||
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 4 |
3 files changed, 11 insertions, 7 deletions
diff --git a/net/ipv4/gre_offload.c b/net/ipv4/gre_offload.c index a9d8cd2bff4b..775d5b532ece 100644 --- a/net/ipv4/gre_offload.c +++ b/net/ipv4/gre_offload.c | |||
@@ -87,7 +87,7 @@ static struct sk_buff *gre_gso_segment(struct sk_buff *skb, | |||
87 | 87 | ||
88 | err = __skb_linearize(skb); | 88 | err = __skb_linearize(skb); |
89 | if (err) { | 89 | if (err) { |
90 | kfree_skb(segs); | 90 | kfree_skb_list(segs); |
91 | segs = ERR_PTR(err); | 91 | segs = ERR_PTR(err); |
92 | goto out; | 92 | goto out; |
93 | } | 93 | } |
diff --git a/net/ipv4/netfilter/ipt_ULOG.c b/net/ipv4/netfilter/ipt_ULOG.c index 57c671152c42..cbc22158af49 100644 --- a/net/ipv4/netfilter/ipt_ULOG.c +++ b/net/ipv4/netfilter/ipt_ULOG.c | |||
@@ -125,15 +125,16 @@ static void ulog_send(struct ulog_net *ulog, unsigned int nlgroupnum) | |||
125 | /* timer function to flush queue in flushtimeout time */ | 125 | /* timer function to flush queue in flushtimeout time */ |
126 | static void ulog_timer(unsigned long data) | 126 | static void ulog_timer(unsigned long data) |
127 | { | 127 | { |
128 | unsigned int groupnum = *((unsigned int *)data); | ||
128 | struct ulog_net *ulog = container_of((void *)data, | 129 | struct ulog_net *ulog = container_of((void *)data, |
129 | struct ulog_net, | 130 | struct ulog_net, |
130 | nlgroup[*(unsigned int *)data]); | 131 | nlgroup[groupnum]); |
131 | pr_debug("timer function called, calling ulog_send\n"); | 132 | pr_debug("timer function called, calling ulog_send\n"); |
132 | 133 | ||
133 | /* lock to protect against somebody modifying our structure | 134 | /* lock to protect against somebody modifying our structure |
134 | * from ipt_ulog_target at the same time */ | 135 | * from ipt_ulog_target at the same time */ |
135 | spin_lock_bh(&ulog->lock); | 136 | spin_lock_bh(&ulog->lock); |
136 | ulog_send(ulog, data); | 137 | ulog_send(ulog, groupnum); |
137 | spin_unlock_bh(&ulog->lock); | 138 | spin_unlock_bh(&ulog->lock); |
138 | } | 139 | } |
139 | 140 | ||
@@ -413,8 +414,11 @@ static int __net_init ulog_tg_net_init(struct net *net) | |||
413 | 414 | ||
414 | spin_lock_init(&ulog->lock); | 415 | spin_lock_init(&ulog->lock); |
415 | /* initialize ulog_buffers */ | 416 | /* initialize ulog_buffers */ |
416 | for (i = 0; i < ULOG_MAXNLGROUPS; i++) | 417 | for (i = 0; i < ULOG_MAXNLGROUPS; i++) { |
417 | setup_timer(&ulog->ulog_buffers[i].timer, ulog_timer, i); | 418 | ulog->nlgroup[i] = i; |
419 | setup_timer(&ulog->ulog_buffers[i].timer, ulog_timer, | ||
420 | (unsigned long)&ulog->nlgroup[i]); | ||
421 | } | ||
418 | 422 | ||
419 | ulog->nflognl = netlink_kernel_create(net, NETLINK_NFLOG, &cfg); | 423 | ulog->nflognl = netlink_kernel_create(net, NETLINK_NFLOG, &cfg); |
420 | if (!ulog->nflognl) | 424 | if (!ulog->nflognl) |
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 1063bb83e342..35675e46aff8 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -986,7 +986,7 @@ int tcp_md5_do_add(struct sock *sk, const union tcp_md5_addr *addr, | |||
986 | struct tcp_sock *tp = tcp_sk(sk); | 986 | struct tcp_sock *tp = tcp_sk(sk); |
987 | struct tcp_md5sig_info *md5sig; | 987 | struct tcp_md5sig_info *md5sig; |
988 | 988 | ||
989 | key = tcp_md5_do_lookup(sk, (union tcp_md5_addr *)&addr, AF_INET); | 989 | key = tcp_md5_do_lookup(sk, addr, family); |
990 | if (key) { | 990 | if (key) { |
991 | /* Pre-existing entry - just update that one. */ | 991 | /* Pre-existing entry - just update that one. */ |
992 | memcpy(key->key, newkey, newkeylen); | 992 | memcpy(key->key, newkey, newkeylen); |
@@ -1029,7 +1029,7 @@ int tcp_md5_do_del(struct sock *sk, const union tcp_md5_addr *addr, int family) | |||
1029 | { | 1029 | { |
1030 | struct tcp_md5sig_key *key; | 1030 | struct tcp_md5sig_key *key; |
1031 | 1031 | ||
1032 | key = tcp_md5_do_lookup(sk, (union tcp_md5_addr *)&addr, AF_INET); | 1032 | key = tcp_md5_do_lookup(sk, addr, family); |
1033 | if (!key) | 1033 | if (!key) |
1034 | return -ENOENT; | 1034 | return -ENOENT; |
1035 | hlist_del_rcu(&key->node); | 1035 | hlist_del_rcu(&key->node); |