Merge branch 'linus' into locking/core, to resolve conflicts
Conflicts: include/linux/compiler-clang.h include/linux/compiler-gcc.h include/linux/compiler-intel.h include/uapi/linux/stddef.h Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
#
|
||||
# Makefile for the Linux TCP/IP (INET6) layer.
|
||||
#
|
||||
|
@@ -3335,6 +3335,7 @@ static void addrconf_permanent_addr(struct net_device *dev)
|
||||
if ((ifp->flags & IFA_F_PERMANENT) &&
|
||||
fixup_permanent_addr(idev, ifp) < 0) {
|
||||
write_unlock_bh(&idev->lock);
|
||||
in6_ifa_hold(ifp);
|
||||
ipv6_del_addr(ifp);
|
||||
write_lock_bh(&idev->lock);
|
||||
|
||||
|
@@ -1,3 +1,4 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* IPv6 Address Label subsystem
|
||||
* for the IPv6 "Default" Source Address Selection
|
||||
|
@@ -1,3 +1,4 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <linux/errno.h>
|
||||
#include <linux/ip.h>
|
||||
#include <linux/kernel.h>
|
||||
|
@@ -1,3 +1,4 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <linux/jhash.h>
|
||||
#include <linux/netfilter.h>
|
||||
#include <linux/rcupdate.h>
|
||||
|
@@ -1,3 +1,4 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <net/ip.h>
|
||||
#include <net/udp.h>
|
||||
#include <net/udplite.h>
|
||||
|
@@ -408,13 +408,16 @@ static void ip6gre_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||
case ICMPV6_DEST_UNREACH:
|
||||
net_dbg_ratelimited("%s: Path to destination invalid or inactive!\n",
|
||||
t->parms.name);
|
||||
break;
|
||||
if (code != ICMPV6_PORT_UNREACH)
|
||||
break;
|
||||
return;
|
||||
case ICMPV6_TIME_EXCEED:
|
||||
if (code == ICMPV6_EXC_HOPLIMIT) {
|
||||
net_dbg_ratelimited("%s: Too small hop limit or routing loop in tunnel!\n",
|
||||
t->parms.name);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
return;
|
||||
case ICMPV6_PARAMPROB:
|
||||
teli = 0;
|
||||
if (code == ICMPV6_HDR_FIELD)
|
||||
@@ -430,7 +433,7 @@ static void ip6gre_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||
net_dbg_ratelimited("%s: Recipient unable to parse tunneled packet!\n",
|
||||
t->parms.name);
|
||||
}
|
||||
break;
|
||||
return;
|
||||
case ICMPV6_PKT_TOOBIG:
|
||||
mtu = be32_to_cpu(info) - offset - t->tun_hlen;
|
||||
if (t->dev->type == ARPHRD_ETHER)
|
||||
@@ -438,7 +441,7 @@ static void ip6gre_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||
if (mtu < IPV6_MIN_MTU)
|
||||
mtu = IPV6_MIN_MTU;
|
||||
t->dev->mtu = mtu;
|
||||
break;
|
||||
return;
|
||||
}
|
||||
|
||||
if (time_before(jiffies, t->err_time + IP6TUNNEL_ERR_TIMEO))
|
||||
@@ -500,8 +503,8 @@ static netdev_tx_t __gre6_xmit(struct sk_buff *skb,
|
||||
__u32 *pmtu, __be16 proto)
|
||||
{
|
||||
struct ip6_tnl *tunnel = netdev_priv(dev);
|
||||
__be16 protocol = (dev->type == ARPHRD_ETHER) ?
|
||||
htons(ETH_P_TEB) : proto;
|
||||
struct dst_entry *dst = skb_dst(skb);
|
||||
__be16 protocol;
|
||||
|
||||
if (dev->type == ARPHRD_ETHER)
|
||||
IPCB(skb)->flags = 0;
|
||||
@@ -515,9 +518,14 @@ static netdev_tx_t __gre6_xmit(struct sk_buff *skb,
|
||||
tunnel->o_seqno++;
|
||||
|
||||
/* Push GRE header. */
|
||||
protocol = (dev->type == ARPHRD_ETHER) ? htons(ETH_P_TEB) : proto;
|
||||
gre_build_header(skb, tunnel->tun_hlen, tunnel->parms.o_flags,
|
||||
protocol, tunnel->parms.o_key, htonl(tunnel->o_seqno));
|
||||
|
||||
/* TooBig packet may have updated dst->dev's mtu */
|
||||
if (dst && dst_mtu(dst) > dst->dev->mtu)
|
||||
dst->ops->update_pmtu(dst, NULL, skb, dst->dev->mtu);
|
||||
|
||||
return ip6_tnl_xmit(skb, dev, dsfield, fl6, encap_limit, pmtu,
|
||||
NEXTHDR_GRE);
|
||||
}
|
||||
|
@@ -1,3 +1,4 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <linux/export.h>
|
||||
#include <linux/icmpv6.h>
|
||||
#include <linux/mutex.h>
|
||||
|
@@ -1,3 +1,4 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
#
|
||||
# Makefile for the netfilter modules on top of IPv6.
|
||||
#
|
||||
|
@@ -1,3 +1,4 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* sysctl_net_ipv6.c: sysctl interface to net IPV6 subsystem.
|
||||
*
|
||||
|
@@ -1,3 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _UDP6_IMPL_H
|
||||
#define _UDP6_IMPL_H
|
||||
#include <net/udp.h>
|
||||
|
@@ -1,3 +1,4 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* xfrm6_input.c: based on net/ipv4/xfrm4_input.c
|
||||
*
|
||||
|
@@ -1,3 +1,4 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* xfrm6_policy.c: based on xfrm4_policy.c
|
||||
*
|
||||
|
@@ -1,3 +1,4 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* xfrm6_state.c: based on xfrm4_state.c
|
||||
*
|
||||
|
Reference in New Issue
Block a user