Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Minor comment merge conflict in mlx5. Staging driver has a fixup due to the skb->xmit_more changes in 'net-next', but was removed in 'net'. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -417,6 +417,7 @@ int ila_xlat_nl_cmd_flush(struct sk_buff *skb, struct genl_info *info)
|
||||
|
||||
done:
|
||||
rhashtable_walk_stop(&iter);
|
||||
rhashtable_walk_exit(&iter);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@@ -601,7 +601,7 @@ int ip6_fragment(struct net *net, struct sock *sk, struct sk_buff *skb,
|
||||
inet6_sk(skb->sk) : NULL;
|
||||
struct ipv6hdr *tmp_hdr;
|
||||
struct frag_hdr *fh;
|
||||
unsigned int mtu, hlen, left, len;
|
||||
unsigned int mtu, hlen, left, len, nexthdr_offset;
|
||||
int hroom, troom;
|
||||
__be32 frag_id;
|
||||
int ptr, offset = 0, err = 0;
|
||||
@@ -612,6 +612,7 @@ int ip6_fragment(struct net *net, struct sock *sk, struct sk_buff *skb,
|
||||
goto fail;
|
||||
hlen = err;
|
||||
nexthdr = *prevhdr;
|
||||
nexthdr_offset = prevhdr - skb_network_header(skb);
|
||||
|
||||
mtu = ip6_skb_dst_mtu(skb);
|
||||
|
||||
@@ -646,6 +647,7 @@ int ip6_fragment(struct net *net, struct sock *sk, struct sk_buff *skb,
|
||||
(err = skb_checksum_help(skb)))
|
||||
goto fail;
|
||||
|
||||
prevhdr = skb_network_header(skb) + nexthdr_offset;
|
||||
hroom = LL_RESERVED_SPACE(rt->dst.dev);
|
||||
if (skb_has_frag_list(skb)) {
|
||||
unsigned int first_len = skb_pagelen(skb);
|
||||
|
@@ -627,7 +627,7 @@ ip4ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||
rt = ip_route_output_ports(dev_net(skb->dev), &fl4, NULL,
|
||||
eiph->daddr, eiph->saddr, 0, 0,
|
||||
IPPROTO_IPIP, RT_TOS(eiph->tos), 0);
|
||||
if (IS_ERR(rt) || rt->dst.dev->type != ARPHRD_TUNNEL) {
|
||||
if (IS_ERR(rt) || rt->dst.dev->type != ARPHRD_TUNNEL6) {
|
||||
if (!IS_ERR(rt))
|
||||
ip_rt_put(rt);
|
||||
goto out;
|
||||
@@ -636,7 +636,7 @@ ip4ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||
} else {
|
||||
if (ip_route_input(skb2, eiph->daddr, eiph->saddr, eiph->tos,
|
||||
skb2->dev) ||
|
||||
skb_dst(skb2)->dev->type != ARPHRD_TUNNEL)
|
||||
skb_dst(skb2)->dev->type != ARPHRD_TUNNEL6)
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
@@ -669,6 +669,10 @@ static int ipip6_rcv(struct sk_buff *skb)
|
||||
!net_eq(tunnel->net, dev_net(tunnel->dev))))
|
||||
goto out;
|
||||
|
||||
/* skb can be uncloned in iptunnel_pull_header, so
|
||||
* old iph is no longer valid
|
||||
*/
|
||||
iph = (const struct iphdr *)skb_mac_header(skb);
|
||||
err = IP_ECN_decapsulate(iph, skb);
|
||||
if (unlikely(err)) {
|
||||
if (log_ecn_error)
|
||||
|
Reference in New Issue
Block a user