LINUX_VERSION-3.18 = .21
LINUX_VERSION-4.0 = .9
LINUX_VERSION-4.1 = .10
-LINUX_VERSION-4.3 = -rc5
+LINUX_VERSION-4.3 = -rc7
LINUX_KERNEL_MD5SUM-3.18.21 = e4248caaa4cef318c04657e971b37298
LINUX_KERNEL_MD5SUM-4.0.9 = 40fc5f6e2d718e539b45e6601c71985b
LINUX_KERNEL_MD5SUM-4.1.10 = 16953359a8c245d478294af65fd756a8
-LINUX_KERNEL_MD5SUM-4.3-rc5 = 3f8f158a3a06c97464d891d84e5e45f3
+LINUX_KERNEL_MD5SUM-4.3-rc7 = b33f9c9c1a597bb8e0d6f84c074e733f
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
+++ /dev/null
-Fix crash with actions performed on the underlying interface (MAC address,
-MTU or link state update). This triggers pppoe_flush_dev(), which cleans up
-the device without announcing it in sk->sk_state.
-
-Patch by Guillaume Nault (pulled from netdev@vger)
-
---- a/drivers/net/ppp/pppoe.c
-+++ b/drivers/net/ppp/pppoe.c
-@@ -313,7 +313,6 @@ static void pppoe_flush_dev(struct net_d
- if (po->pppoe_dev == dev &&
- sk->sk_state & (PPPOX_CONNECTED | PPPOX_BOUND | PPPOX_ZOMBIE)) {
- pppox_unbind_sock(sk);
-- sk->sk_state = PPPOX_ZOMBIE;
- sk->sk_state_change(sk);
- po->pppoe_dev = NULL;
- dev_put(dev);
--- a/lib/Kconfig
+++ b/lib/Kconfig
-@@ -331,16 +331,16 @@ config BCH_CONST_T
+@@ -332,16 +332,16 @@ config BCH_CONST_T
# Textsearch support is select'ed if needed
#
config TEXTSEARCH
--- a/lib/Kconfig
+++ b/lib/Kconfig
-@@ -216,25 +216,25 @@ config 842_DECOMPRESS
+@@ -216,26 +216,26 @@ config 842_DECOMPRESS
tristate
config ZLIB_INFLATE
config ZLIB_DEFLATE
- tristate
+ tristate "ZLIB deflate support"
+ select BITREVERSE
config LZO_COMPRESS
- tristate
+#endif
--- a/lib/Kconfig
+++ b/lib/Kconfig
-@@ -238,6 +238,12 @@ config LZ4_DECOMPRESS
+@@ -239,6 +239,12 @@ config LZ4_DECOMPRESS
source "lib/xz/Kconfig"
int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
u32 banned_flags)
-@@ -5939,6 +5938,9 @@ int __init addrconf_init(void)
+@@ -5941,6 +5940,9 @@ int __init addrconf_init(void)
ipv6_addr_label_rtnl_register();
return 0;
errout:
rtnl_af_unregister(&inet6_ops);
-@@ -5958,6 +5960,9 @@ void addrconf_cleanup(void)
+@@ -5960,6 +5962,9 @@ void addrconf_cleanup(void)
struct net_device *dev;
int i;
static void ip6_link_failure(struct sk_buff *skb);
static void ip6_rt_update_pmtu(struct dst_entry *dst, struct sock *sk,
struct sk_buff *skb, u32 mtu);
-@@ -301,6 +303,21 @@ static const struct rt6_info ip6_prohibi
+@@ -296,6 +298,21 @@ static const struct rt6_info ip6_prohibi
.rt6i_ref = ATOMIC_INIT(1),
};
static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = {
.__refcnt = ATOMIC_INIT(1),
-@@ -1885,6 +1902,11 @@ int ip6_route_info_create(struct fib6_co
+@@ -1881,6 +1898,11 @@ int ip6_route_info_create(struct fib6_co
rt->dst.output = ip6_pkt_prohibit_out;
rt->dst.input = ip6_pkt_prohibit;
break;
case RTN_THROW:
case RTN_UNREACHABLE:
default:
-@@ -2487,6 +2509,17 @@ static int ip6_pkt_prohibit_out(struct s
+@@ -2483,6 +2505,17 @@ static int ip6_pkt_prohibit_out(struct s
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
}
/*
* Allocate a dst for local (unicast / anycast) address.
*/
-@@ -2726,7 +2759,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -2723,7 +2756,8 @@ static int rtm_to_fib6_config(struct sk_
if (rtm->rtm_type == RTN_UNREACHABLE ||
rtm->rtm_type == RTN_BLACKHOLE ||
rtm->rtm_type == RTN_PROHIBIT ||
cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL)
-@@ -3082,6 +3116,9 @@ static int rt6_fill_node(struct net *net
+@@ -3079,6 +3113,9 @@ static int rt6_fill_node(struct net *net
case -EACCES:
rtm->rtm_type = RTN_PROHIBIT;
break;
case -EAGAIN:
rtm->rtm_type = RTN_THROW;
break;
-@@ -3350,6 +3387,8 @@ static int ip6_route_dev_notify(struct n
+@@ -3347,6 +3384,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif
-@@ -3566,6 +3605,17 @@ static int __net_init ip6_route_net_init
+@@ -3563,6 +3602,17 @@ static int __net_init ip6_route_net_init
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true);
#endif
net->ipv6.sysctl.flush_delay = 0;
-@@ -3584,6 +3634,8 @@ out:
+@@ -3581,6 +3631,8 @@ out:
return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry:
-@@ -3601,6 +3653,7 @@ static void __net_exit ip6_route_net_exi
+@@ -3598,6 +3650,7 @@ static void __net_exit ip6_route_net_exi
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry);
kfree(net->ipv6.ip6_blk_hole_entry);
#endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
}
-@@ -3698,6 +3751,9 @@ int __init ip6_route_init(void)
+@@ -3695,6 +3748,9 @@ int __init ip6_route_init(void)
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -263,6 +263,31 @@ config MDIO_BCM_UNIMAC
+@@ -261,6 +261,31 @@ config MDIO_BCM_UNIMAC
This hardware can be found in the Broadcom GENET Ethernet MAC
controllers as well as some Broadcom Ethernet switches such as the
Starfighter 2 switches.
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -286,6 +286,10 @@ config RTL8366RB_PHY
+@@ -284,6 +284,10 @@ config RTL8366RB_PHY
tristate "Driver for the Realtek RTL8366RB switch"
select SWCONFIG
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -290,6 +290,10 @@ config RTL8367_PHY
+@@ -288,6 +288,10 @@ config RTL8367_PHY
tristate "Driver for the Realtek RTL8367R/M switches"
select SWCONFIG
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -301,3 +301,8 @@ endif # PHYLIB
+@@ -299,3 +299,8 @@ endif # PHYLIB
config MICREL_KS8995MA
tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
depends on SPI
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -296,6 +296,8 @@ config RTL8367B_PHY
+@@ -294,6 +294,8 @@ config RTL8367B_PHY
endif # RTL8366_SMI
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c
-index 686334f..deae10d 100644
--- a/drivers/net/ethernet/realtek/8139cp.c
+++ b/drivers/net/ethernet/realtek/8139cp.c
@@ -175,7 +175,7 @@ enum {
TxError = (1 << 23), /* Tx error summary */
RxError = (1 << 20), /* Rx error summary */
IPCS = (1 << 18), /* Calculate IP checksum */
-@@ -754,10 +754,16 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb,
+@@ -754,10 +754,16 @@ static netdev_tx_t cp_start_xmit (struct
eor = (entry == (CP_TX_RING_SIZE - 1)) ? RingEnd : 0;
mss = skb_shinfo(skb)->gso_size;
else if (skb->ip_summed == CHECKSUM_PARTIAL) {
const struct iphdr *ip = ip_hdr(skb);
if (ip->protocol == IPPROTO_TCP)
-@@ -1852,6 +1858,15 @@ static void cp_set_d3_state (struct cp_private *cp)
+@@ -1852,6 +1858,15 @@ static void cp_set_d3_state (struct cp_p
pci_set_power_state (cp->pdev, PCI_D3hot);
}
static const struct net_device_ops cp_netdev_ops = {
.ndo_open = cp_open,
.ndo_stop = cp_close,
-@@ -1864,6 +1879,7 @@ static const struct net_device_ops cp_netdev_ops = {
+@@ -1864,6 +1879,7 @@ static const struct net_device_ops cp_ne
.ndo_tx_timeout = cp_tx_timeout,
.ndo_set_features = cp_set_features,
.ndo_change_mtu = cp_change_mtu,
#ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = cp_poll_controller,
-@@ -1983,12 +1999,12 @@ static int cp_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
+@@ -1983,12 +1999,12 @@ static int cp_init_one (struct pci_dev *
dev->ethtool_ops = &cp_ethtool_ops;
dev->watchdog_timeo = TX_TIMEOUT;
+be done automatically.
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -4776,6 +4776,11 @@ T: git git://linuxtv.org/anttip/media_tr
+@@ -4792,6 +4792,11 @@ T: git git://linuxtv.org/anttip/media_tr
S: Maintained
F: drivers/media/usb/hackrf/
}
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
-@@ -1528,10 +1528,12 @@ static int __init setup_vmstat(void)
+@@ -1529,10 +1529,12 @@ static int __init setup_vmstat(void)
cpu_notifier_register_done();
#endif
#ifdef CONFIG_PROC_FS