kernel: update 4.1 to 4.1.10

Fixes a regression on spi flash devices (upstream commit 1583eaece6fa).

Changelogs:
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.7
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.8
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.9
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.10

096-ipv4-off-by-one-in-continuation-handling-in-proc-net.patch was applied
upstream and dropped.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>
[update from 4.1.9 to 4.1.10]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 47104
v19.07.3_mercusys_ac12_duma
Hauke Mehrtens 9 years ago
parent dea417017e
commit 0cd478518f

@ -4,11 +4,11 @@ LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .21
LINUX_VERSION-4.0 = .9
LINUX_VERSION-4.1 = .6
LINUX_VERSION-4.1 = .10
LINUX_KERNEL_MD5SUM-3.18.21 = e4248caaa4cef318c04657e971b37298
LINUX_KERNEL_MD5SUM-4.0.9 = 40fc5f6e2d718e539b45e6601c71985b
LINUX_KERNEL_MD5SUM-4.1.6 = 1dae0c808e34164cab3dfd57be88bd53
LINUX_KERNEL_MD5SUM-4.1.10 = 16953359a8c245d478294af65fd756a8
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))

@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -164,6 +164,11 @@ config MTD_OF_PARTS
@@ -159,6 +159,11 @@ config MTD_OF_PARTS
the partition map from the children of the flash node,
as described in Documentation/devicetree/bindings/mtd/partition.txt.

@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -184,6 +184,12 @@ config MTD_BCM47XX_PARTS
@@ -179,6 +179,12 @@ config MTD_BCM47XX_PARTS
This provides partitions parser for devices based on BCM47xx
boards.

@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -206,6 +206,12 @@ config MTD_MYLOADER_PARTS
@@ -201,6 +201,12 @@ config MTD_MYLOADER_PARTS
You will still need the parsing functions to be called by the driver
for your particular device. It won't happen automatically.

@ -1,5 +1,5 @@
--- a/arch/mips/ath79/mach-ubnt-xm.c 2015-08-19 21:26:47.694157530 -0600
+++ b/arch/mips/ath79/mach-ubnt-xm.c 2015-08-20 16:24:06.908537535 -0600
--- a/arch/mips/ath79/mach-ubnt-xm.c
+++ b/arch/mips/ath79/mach-ubnt-xm.c
@@ -642,3 +642,59 @@ static void __init ubnt_airgateway_setup
MIPS_MACHINE(ATH79_MACH_UBNT_AIRGW, "UBNT-AGW", "Ubiquiti AirGateway",
ubnt_airgateway_setup);

@ -9,7 +9,7 @@
#define AR913X_BASE_FREQ 5000000
struct clk {
@@ -99,8 +99,8 @@
@@ -99,8 +99,8 @@ static void __init ar724x_clocks_init(vo
div = ((pll >> AR724X_PLL_DIV_SHIFT) & AR724X_PLL_DIV_MASK);
freq = div * ref_rate;

@ -23,7 +23,7 @@
select SOC_AR913X
--- a/arch/mips/ath79/Makefile
+++ b/arch/mips/ath79/Makefile
@@ -50,6 +50,7 @@ obj-$(CONFIG_ATH79_MACH_AP132) += mach-ap132.o
@@ -50,6 +50,7 @@ obj-$(CONFIG_ATH79_MACH_AP132) += mach-
obj-$(CONFIG_ATH79_MACH_AP136) += mach-ap136.o
obj-$(CONFIG_ATH79_MACH_AP143) += mach-ap143.o
obj-$(CONFIG_ATH79_MACH_AP147) += mach-ap147.o

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
@@ -763,6 +763,16 @@ config ATH79_MACH_CAP4200AG
@@ -900,6 +900,16 @@ config ATH79_MACH_CAP4200AG
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
@ -19,7 +19,7 @@
select SOC_QCA955X
--- a/arch/mips/ath79/Makefile
+++ b/arch/mips/ath79/Makefile
@@ -80,6 +80,7 @@ obj-$(CONFIG_ATH79_MACH_HORNET_UB) += ma
@@ -91,6 +91,7 @@ obj-$(CONFIG_ATH79_MACH_HORNET_UB) += ma
obj-$(CONFIG_ATH79_MACH_MC_MAC1200R) += mach-mc-mac1200r.o
obj-$(CONFIG_ATH79_MACH_MR12) += mach-mr12.o
obj-$(CONFIG_ATH79_MACH_MR16) += mach-mr16.o
@ -29,7 +29,7 @@
obj-$(CONFIG_ATH79_MACH_MYNET_N600) += mach-mynet-n600.o
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
@@ -69,6 +69,7 @@ enum ath79_mach_type {
@@ -80,6 +80,7 @@ enum ath79_mach_type {
ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */
ATH79_MACH_MR12, /* Cisco Meraki MR12 */
ATH79_MACH_MR16, /* Cisco Meraki MR16 */

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
@@ -1031,6 +1031,17 @@
@@ -1055,6 +1055,17 @@ config ATH79_MACH_TL_WA901ND_V2
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
@ -20,7 +20,7 @@
select SOC_AR934X
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
@@ -152,6 +152,7 @@
@@ -155,6 +155,7 @@ enum ath79_mach_type {
ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */
ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */
ATH79_MACH_TL_WA901ND_V3, /* TP-LINK TL-WA901ND v3 */
@ -30,7 +30,7 @@
ATH79_MACH_TL_WDR6500_V2, /* TP-LINK TL-WDR6500 v2 */
--- a/arch/mips/ath79/Makefile
+++ b/arch/mips/ath79/Makefile
@@ -128,6 +128,7 @@
@@ -131,6 +131,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WA7210N_V2) +
obj-$(CONFIG_ATH79_MACH_TL_WA830RE_V2) += mach-tl-wa830re-v2.o
obj-$(CONFIG_ATH79_MACH_TL_WA901ND) += mach-tl-wa901nd.o
obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2) += mach-tl-wa901nd-v2.o

@ -241,7 +241,7 @@
*/
--- a/net/ipv6/datagram.c
+++ b/net/ipv6/datagram.c
@@ -414,7 +414,7 @@ int ipv6_recv_error(struct sock *sk, str
@@ -424,7 +424,7 @@ int ipv6_recv_error(struct sock *sk, str
ipv6_iface_scope_id(&sin->sin6_addr,
IP6CB(skb)->iif);
} else {
@ -250,7 +250,7 @@
&sin->sin6_addr);
sin->sin6_scope_id = 0;
}
@@ -751,12 +751,12 @@ int ip6_datagram_send_ctl(struct net *ne
@@ -761,12 +761,12 @@ int ip6_datagram_send_ctl(struct net *ne
}
if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
@ -267,7 +267,7 @@
case IPV6_2292HOPOPTS:
--- a/net/ipv6/ip6_gre.c
+++ b/net/ipv6/ip6_gre.c
@@ -393,7 +393,7 @@ static void ip6gre_err(struct sk_buff *s
@@ -394,7 +394,7 @@ static void ip6gre_err(struct sk_buff *s
t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr,
flags & GRE_KEY ?
@ -276,7 +276,7 @@
p[1]);
if (!t)
return;
@@ -475,11 +475,11 @@ static int ip6gre_rcv(struct sk_buff *sk
@@ -476,11 +476,11 @@ static int ip6gre_rcv(struct sk_buff *sk
offset += 4;
}
if (flags&GRE_KEY) {
@ -290,7 +290,7 @@
offset += 4;
}
}
@@ -744,7 +744,7 @@ static netdev_tx_t ip6gre_xmit2(struct s
@@ -745,7 +745,7 @@ static netdev_tx_t ip6gre_xmit2(struct s
if (tunnel->parms.o_flags&GRE_SEQ) {
++tunnel->o_seqno;
@ -299,7 +299,7 @@
ptr--;
}
if (tunnel->parms.o_flags&GRE_KEY) {
@@ -840,7 +840,7 @@ static inline int ip6gre_xmit_ipv6(struc
@@ -841,7 +841,7 @@ static inline int ip6gre_xmit_ipv6(struc
dsfield = ipv6_get_dsfield(ipv6h);
if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)

@ -47,6 +47,7 @@ CONFIG_ARM64_ERRATUM_824069=y
CONFIG_ARM64_ERRATUM_826319=y
CONFIG_ARM64_ERRATUM_827319=y
CONFIG_ARM64_ERRATUM_832075=y
CONFIG_ARM64_ERRATUM_843419=y
CONFIG_ARM64_ERRATUM_845719=y
# CONFIG_ARM64_PTDUMP is not set
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set

@ -18,7 +18,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -2105,6 +2105,8 @@ source "drivers/Kconfig"
@@ -2106,6 +2106,8 @@ source "drivers/Kconfig"
source "drivers/firmware/Kconfig"

@ -16,9 +16,6 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
bcm4708-luxul-xwc-1000.dtb \
bcm4708-netgear-r6250.dtb \
bcm4708-netgear-r6300-v2.dtb \
diff --git a/arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts b/arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts
new file mode 100644
index 0000000..705d0c2
--- /dev/null
+++ b/arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts
@@ -0,0 +1,48 @@

@ -168,7 +168,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
config ARCH_MULTIPLATFORM
bool "Allow multiple platforms to be selected"
depends on MMU
@@ -823,6 +859,9 @@ config ARCH_VIRT
@@ -824,6 +860,9 @@ config ARCH_VIRT
# Kconfigs may be included either alphabetically (according to the
# plat- suffix) or along side the corresponding mach-* source.
#
@ -6745,7 +6745,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
ENTRY(cpu_v6_dcache_clean_area)
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -456,6 +456,7 @@ __v7_setup:
@@ -460,6 +460,7 @@ __v7_setup_cont:
orr r0, r0, r6 @ set them
THUMB( orr r0, r0, #1 << 30 ) @ Thumb exceptions
ret lr @ return to head.S:__ret

@ -11,7 +11,7 @@ Subject: [PATCH 033/171] config: Enable CONFIG_MEMCG, but leave it disabled
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -5393,6 +5393,29 @@ static int __init cgroup_disable(char *s
@@ -5394,6 +5394,29 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);

@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/spi/spi-bcm2835.c
+++ b/drivers/spi/spi-bcm2835.c
@@ -359,6 +359,8 @@ static int bcm2835_spi_setup(struct spi_
@@ -376,6 +376,8 @@ static int bcm2835_spi_setup(struct spi_
{
int err;
struct gpio_chip *chip;
@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/*
* sanity checking the native-chipselects
*/
@@ -375,15 +377,42 @@ static int bcm2835_spi_setup(struct spi_
@@ -392,15 +394,42 @@ static int bcm2835_spi_setup(struct spi_
"setup: only two native chip-selects are supported\n");
return -EINVAL;
}

@ -375,7 +375,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
static int bcm2835_spi_transfer_one_poll(struct spi_master *master,
struct spi_device *spi,
struct spi_transfer *tfr,
@@ -301,12 +582,26 @@ static int bcm2835_spi_transfer_one(stru
@@ -299,6 +580,11 @@ static int bcm2835_spi_transfer_one(stru
return bcm2835_spi_transfer_one_poll(master, spi, tfr,
cs, xfer_time_us);
@ -387,6 +387,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs);
}
@@ -324,6 +610,15 @@ static int bcm2835_spi_prepare_message(s
static void bcm2835_spi_handle_err(struct spi_master *master,
struct spi_message *msg)
{
@ -402,7 +403,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
bcm2835_spi_reset_hw(master);
}
@@ -505,6 +800,8 @@ static int bcm2835_spi_probe(struct plat
@@ -523,6 +818,8 @@ static int bcm2835_spi_probe(struct plat
goto out_clk_disable;
}
@ -411,7 +412,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
/* initialise the hardware with the default polarities */
bcm2835_wr(bs, BCM2835_SPI_CS,
BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);
@@ -535,6 +832,8 @@ static int bcm2835_spi_remove(struct pla
@@ -553,6 +850,8 @@ static int bcm2835_spi_remove(struct pla
clk_disable_unprepare(bs->clk);

@ -11,15 +11,15 @@ Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
--- a/drivers/spi/spi-bcm2835.c
+++ b/drivers/spi/spi-bcm2835.c
@@ -592,6 +592,7 @@ static int bcm2835_spi_transfer_one(stru
return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs);
@@ -609,6 +609,7 @@ static int bcm2835_spi_prepare_message(s
return 0;
}
+#if 0
static void bcm2835_spi_handle_err(struct spi_master *master,
struct spi_message *msg)
{
@@ -606,6 +607,7 @@ static void bcm2835_spi_handle_err(struc
@@ -623,6 +624,7 @@ static void bcm2835_spi_handle_err(struc
/* and reset */
bcm2835_spi_reset_hw(master);
}

@ -9,15 +9,15 @@ Subject: [PATCH 163/171] spi: bcm2835: Fix buld error from previous commit
--- a/drivers/spi/spi-bcm2835.c
+++ b/drivers/spi/spi-bcm2835.c
@@ -592,7 +592,6 @@ static int bcm2835_spi_transfer_one(stru
return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs);
@@ -609,7 +609,6 @@ static int bcm2835_spi_prepare_message(s
return 0;
}
-#if 0
static void bcm2835_spi_handle_err(struct spi_master *master,
struct spi_message *msg)
{
@@ -607,7 +606,6 @@ static void bcm2835_spi_handle_err(struc
@@ -624,7 +623,6 @@ static void bcm2835_spi_handle_err(struc
/* and reset */
bcm2835_spi_reset_hw(master);
}

@ -1,46 +0,0 @@
From 25b97c016b26039982daaa2c11d83979f93b71ab Mon Sep 17 00:00:00 2001
From: Andy Whitcroft <apw@canonical.com>
Date: Thu, 13 Aug 2015 20:49:01 +0100
Subject: [PATCH] ipv4: off-by-one in continuation handling in /proc/net/route
When generating /proc/net/route we emit a header followed by a line for
each route. When a short read is performed we will restart this process
based on the open file descriptor. When calculating the start point we
fail to take into account that the 0th entry is the header. This leads
us to skip the first entry when doing a continuation read.
This can be easily seen with the comparison below:
while read l; do echo "$l"; done </proc/net/route >A
cat /proc/net/route >B
diff -bu A B | grep '^[+-]'
On my example machine I have approximatly 10KB of route output. There we
see the very first non-title element is lost in the while read case,
and an entry around the 8K mark in the cat case:
+wlan0 00000000 02021EAC 0003 0 0 400 00000000 0 0 0
-tun1 00C0AC0A 00000000 0001 0 0 950 00C0FFFF 0 0 0
Fix up the off-by-one when reaquiring position on continuation.
Fixes: 8be33e955cb9 ("fib_trie: Fib walk rcu should take a tnode and key instead of a trie and a leaf")
BugLink: http://bugs.launchpad.net/bugs/1483440
Acked-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
net/ipv4/fib_trie.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -2457,7 +2457,7 @@ static struct key_vector *fib_route_get_
key = l->key + 1;
iter->pos++;
- if (pos-- <= 0)
+ if (--pos <= 0)
break;
l = NULL;

@ -15,7 +15,7 @@ they still want to support gcc 3.3 -- well, we don't.
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -45,10 +45,10 @@ BOOTCFLAGS += -I$(obj) -I$(srctree)/$(ob
@@ -48,10 +48,10 @@ BOOTCFLAGS += -I$(obj) -I$(srctree)/$(ob
DTC_FLAGS ?= -p 1024
$(obj)/4xx.o: BOOTCFLAGS += -mcpu=405

@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
@@ -2852,6 +2854,7 @@ static int packet_create(struct net *net
@@ -2851,6 +2853,7 @@ static int packet_create(struct net *net
spin_lock_init(&po->bind_lock);
mutex_init(&po->pg_vec_lock);
po->prot_hook.func = packet_rcv;
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
@@ -3457,6 +3460,16 @@ packet_setsockopt(struct socket *sock, i
@@ -3456,6 +3459,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
default:
return -ENOPROTOOPT;
}
@@ -3508,6 +3521,13 @@ static int packet_getsockopt(struct sock
@@ -3507,6 +3520,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;

@ -61,7 +61,7 @@ Isolating individual bridge ports
skb = NULL;
--- a/net/bridge/br_forward.c
+++ b/net/bridge/br_forward.c
@@ -118,7 +118,7 @@ EXPORT_SYMBOL_GPL(br_deliver);
@@ -119,7 +119,7 @@ EXPORT_SYMBOL_GPL(br_deliver);
/* called with rcu_read_lock */
void br_forward(const struct net_bridge_port *to, struct sk_buff *skb, struct sk_buff *skb0)
{
@ -70,7 +70,7 @@ Isolating individual bridge ports
if (skb0)
deliver_clone(to, skb, __br_forward);
else
@@ -174,7 +174,7 @@ static void br_flood(struct net_bridge *
@@ -175,7 +175,7 @@ static void br_flood(struct net_bridge *
struct sk_buff *skb0,
void (*__packet_hook)(const struct net_bridge_port *p,
struct sk_buff *skb),
@ -79,7 +79,7 @@ Isolating individual bridge ports
{
struct net_bridge_port *p;
struct net_bridge_port *prev;
@@ -182,6 +182,8 @@ static void br_flood(struct net_bridge *
@@ -183,6 +183,8 @@ static void br_flood(struct net_bridge *
prev = NULL;
list_for_each_entry_rcu(p, &br->port_list, list) {
@ -88,7 +88,7 @@ Isolating individual bridge ports
/* Do not flood unicast traffic to ports that turn it off */
if (unicast && !(p->flags & BR_FLOOD))
continue;
@@ -216,14 +218,14 @@ out:
@@ -217,14 +219,14 @@ out:
/* called with rcu_read_lock */
void br_flood_deliver(struct net_bridge *br, struct sk_buff *skb, bool unicast)
{

@ -310,7 +310,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
rcu_assign_pointer(*pp, p);
--- a/net/bridge/br_forward.c
+++ b/net/bridge/br_forward.c
@@ -169,6 +169,34 @@ out:
@@ -170,6 +170,34 @@ out:
return p;
}
@ -345,7 +345,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
/* called under bridge lock */
static void br_flood(struct net_bridge *br, struct sk_buff *skb,
struct sk_buff *skb0,
@@ -241,6 +269,7 @@ static void br_multicast_flood(struct ne
@@ -242,6 +270,7 @@ static void br_multicast_flood(struct ne
struct net_bridge_port *prev = NULL;
struct net_bridge_port_group *p;
struct hlist_node *rp;
@ -353,7 +353,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
rp = rcu_dereference(hlist_first_rcu(&br->router_list));
p = mdst ? rcu_dereference(mdst->ports) : NULL;
@@ -251,10 +280,19 @@ static void br_multicast_flood(struct ne
@@ -252,10 +281,19 @@ static void br_multicast_flood(struct ne
rport = rp ? hlist_entry(rp, struct net_bridge_port, rlist) :
NULL;

@ -1,6 +1,6 @@
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1724,27 +1724,7 @@ void netlink_detachskb(struct sock *sk,
@@ -1775,27 +1775,7 @@ void netlink_detachskb(struct sock *sk,
static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
{

@ -1,6 +1,6 @@
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -2031,7 +2031,7 @@ static inline int pskb_network_may_pull(
@@ -2027,7 +2027,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/
#ifndef NET_SKB_PAD

@ -14,7 +14,7 @@ when needed.
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -2076,6 +2076,24 @@ static inline void pskb_trim_unique(stru
@@ -2072,6 +2072,24 @@ static inline void pskb_trim_unique(stru
BUG_ON(err);
}

@ -68,7 +68,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
static void rt_fibinfo_free(struct rtable __rcu **rtp)
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -2352,6 +2352,7 @@ static const char *const rtn_type_names[
@@ -2348,6 +2348,7 @@ static const char *const rtn_type_names[
[RTN_THROW] = "THROW",
[RTN_NAT] = "NAT",
[RTN_XRESOLVE] = "XRESOLVE",
@ -143,7 +143,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = {
.__refcnt = ATOMIC_INIT(1),
@@ -1635,6 +1652,11 @@ int ip6_route_add(struct fib6_config *cf
@@ -1634,6 +1651,11 @@ int ip6_route_info_create(struct fib6_co
rt->dst.output = ip6_pkt_prohibit_out;
rt->dst.input = ip6_pkt_prohibit;
break;
@ -155,7 +155,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
case RTN_THROW:
default:
rt->dst.error = (cfg->fc_type == RTN_THROW) ? -EAGAIN
@@ -2202,6 +2224,17 @@ static int ip6_pkt_prohibit_out(struct s
@@ -2225,6 +2247,17 @@ static int ip6_pkt_prohibit_out(struct s
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
}
@ -173,7 +173,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/*
* Allocate a dst for local (unicast / anycast) address.
*/
@@ -2428,7 +2461,8 @@ static int rtm_to_fib6_config(struct sk_
@@ -2451,7 +2484,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 ||
@ -183,7 +183,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL)
@@ -2644,6 +2678,9 @@ static int rt6_fill_node(struct net *net
@@ -2793,6 +2827,9 @@ static int rt6_fill_node(struct net *net
case -EACCES:
rtm->rtm_type = RTN_PROHIBIT;
break;
@ -193,7 +193,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
case -EAGAIN:
rtm->rtm_type = RTN_THROW;
break;
@@ -2901,6 +2938,8 @@ static int ip6_route_dev_notify(struct n
@@ -3050,6 +3087,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);
@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif
@@ -3117,6 +3156,17 @@ static int __net_init ip6_route_net_init
@@ -3266,6 +3305,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);
@ -220,7 +220,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif
net->ipv6.sysctl.flush_delay = 0;
@@ -3135,6 +3185,8 @@ out:
@@ -3284,6 +3334,8 @@ out:
return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
@ -229,7 +229,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry:
@@ -3152,6 +3204,7 @@ static void __net_exit ip6_route_net_exi
@@ -3301,6 +3353,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);
@ -237,7 +237,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
}
@@ -3248,6 +3301,9 @@ int __init ip6_route_init(void)
@@ -3397,6 +3450,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);

@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4039,6 +4039,9 @@ static enum gro_result dev_gro_receive(s
@@ -4036,6 +4036,9 @@ static enum gro_result dev_gro_receive(s
enum gro_result ret;
int grow;
@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (!(skb->dev->features & NETIF_F_GRO))
goto normal;
@@ -5186,6 +5189,48 @@ static void __netdev_adjacent_dev_unlink
@@ -5185,6 +5188,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *private)
@@ -5246,6 +5291,7 @@ static int __netdev_upper_dev_link(struc
@@ -5245,6 +5290,7 @@ static int __netdev_upper_dev_link(struc
goto rollback_lower_mesh;
}
@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
return 0;
@@ -5363,6 +5409,7 @@ void netdev_upper_dev_unlink(struct net_
@@ -5362,6 +5408,7 @@ void netdev_upper_dev_unlink(struct net_
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
__netdev_adjacent_dev_unlink(dev, i->dev);
@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
}
EXPORT_SYMBOL(netdev_upper_dev_unlink);
@@ -5902,6 +5949,7 @@ int dev_set_mac_address(struct net_devic
@@ -5901,6 +5948,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;

@ -41,7 +41,7 @@
*/
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -2062,6 +2062,10 @@ static inline int pskb_trim(struct sk_bu
@@ -2058,6 +2058,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
}
@ -52,7 +52,7 @@
/**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter
@@ -2188,16 +2192,6 @@ static inline struct sk_buff *dev_alloc_
@@ -2184,16 +2188,6 @@ static inline struct sk_buff *dev_alloc_
}
@ -86,7 +86,7 @@
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2649,10 +2649,20 @@ static int xmit_one(struct sk_buff *skb,
@@ -2645,10 +2645,20 @@ static int xmit_one(struct sk_buff *skb,
if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
dev_queue_xmit_nit(skb, dev);

@ -23,7 +23,7 @@
/* The Mellanox Tavor device gives false positive parity errors
* Mark this device with a broken_parity_status, to allow
* PCI scanning code to "skip" this now blacklisted device.
@@ -2925,6 +2926,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
@@ -2949,6 +2950,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
@ -31,7 +31,7 @@
/*
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. To
@@ -2981,6 +2983,8 @@ static void fixup_debug_report(struct pc
@@ -3005,6 +3007,8 @@ static void fixup_debug_report(struct pc
}
}
@ -40,7 +40,7 @@
/*
* Some BIOS implementations leave the Intel GPU interrupts enabled,
* even though no one is handling them (f.e. i915 driver is never loaded).
@@ -3015,6 +3019,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
@@ -3039,6 +3043,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);

@ -49,7 +49,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
depends on ACPI && PCI
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -728,6 +728,19 @@ u64 ata_tf_read_block(const struct ata_t
@@ -728,6 +728,19 @@ u64 ata_tf_read_block(struct ata_taskfil
return block;
}
@ -69,7 +69,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile
@@ -4789,6 +4802,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
@@ -4773,6 +4786,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (tag < 0)
return NULL;
}
@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
qc = __ata_qc_from_tag(ap, tag);
qc->tag = tag;
@@ -5686,6 +5702,9 @@ struct ata_port *ata_port_alloc(struct a
@@ -5670,6 +5686,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
@ -89,7 +89,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
ata_sff_port_init(ap);
return ap;
@@ -5707,6 +5726,12 @@ static void ata_host_release(struct devi
@@ -5691,6 +5710,12 @@ static void ata_host_release(struct devi
kfree(ap->pmp_link);
kfree(ap->slave_link);
@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
kfree(ap);
host->ports[i] = NULL;
}
@@ -6153,7 +6178,23 @@ int ata_host_register(struct ata_host *h
@@ -6137,7 +6162,23 @@ int ata_host_register(struct ata_host *h
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1;
}

@ -184,7 +184,7 @@
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -2630,10 +2630,12 @@ static const struct file_operations fib_
@@ -2626,10 +2626,12 @@ static const struct file_operations fib_
int __net_init fib_proc_init(struct net *net)
{
@ -199,7 +199,7 @@
&fib_triestat_fops))
goto out2;
@@ -2643,17 +2645,21 @@ int __net_init fib_proc_init(struct net
@@ -2639,17 +2641,21 @@ int __net_init fib_proc_init(struct net
return 0;
out3:

@ -13,7 +13,7 @@
+#endif
--- a/lib/decompress_unlzo.c
+++ b/lib/decompress_unlzo.c
@@ -38,6 +38,7 @@
@@ -39,6 +39,7 @@
#include <linux/types.h>
#include <linux/lzo.h>

@ -17,7 +17,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -200,6 +200,13 @@ config MTD_MYLOADER_PARTS
@@ -195,6 +195,13 @@ config MTD_MYLOADER_PARTS
You will still need the parsing functions to be called by the driver
for your particular device. It won't happen automatically.

@ -63,7 +63,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
+ interface);
+ }
if (IS_ERR(phydev)) {
if (IS_ERR_OR_NULL(phydev)) {
pr_err("%s: Could not attach to PHY\n", dev->name);
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c

@ -18,7 +18,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -856,7 +856,7 @@ static int stmmac_init_phy(struct net_de
@@ -859,7 +859,7 @@ static int stmmac_init_phy(struct net_de
* device as well.
* Note: phydev->phy_id is the result of reading the UID PHY registers.
*/

@ -5514,7 +5514,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
(transaction layer end-to-end CRC checking).
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1177,6 +1177,8 @@ void pci_walk_bus(struct pci_bus *top, i
@@ -1179,6 +1179,8 @@ void pci_walk_bus(struct pci_bus *top, i
void *userdata);
int pci_cfg_space_size(struct pci_dev *dev);
unsigned char pci_bus_max_busnr(struct pci_bus *bus);

@ -182,7 +182,7 @@
mtd_pad_erasesize(struct mtd_info *mtd, int offset, int len)
{
unsigned long mask = mtd->erasesize - 1;
@@ -833,7 +833,6 @@ static void split_uimage(struct mtd_info
@@ -792,7 +792,6 @@ static void split_uimage(struct mtd_info
return;
len = be32_to_cpu(hdr.size) + 0x40;

@ -1,6 +1,6 @@
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -599,6 +599,18 @@ config ARCH_LPC32XX
@@ -600,6 +600,18 @@ config ARCH_LPC32XX
help
Support for the NXP LPC32XX family of processors
@ -19,7 +19,7 @@
config ARCH_PXA
bool "PXA2xx/PXA3xx-based"
depends on MMU
@@ -897,6 +909,8 @@ source "arch/arm/mach-omap2/Kconfig"
@@ -898,6 +910,8 @@ source "arch/arm/mach-omap2/Kconfig"
source "arch/arm/mach-orion5x/Kconfig"

@ -15,7 +15,7 @@
/* initialize internal qc */
/* XXX: Tag 0 is used for drivers with legacy EH as some
@@ -4796,6 +4804,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
@@ -4780,6 +4788,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
return NULL;
@ -25,7 +25,7 @@
/* libsas case */
if (ap->flags & ATA_FLAG_SAS_HOST) {
tag = ata_sas_allocate_tag(ap);
@@ -4841,6 +4852,8 @@ void ata_qc_free(struct ata_queued_cmd *
@@ -4825,6 +4836,8 @@ void ata_qc_free(struct ata_queued_cmd *
qc->tag = ATA_TAG_POISON;
if (ap->flags & ATA_FLAG_SAS_HOST)
ata_sas_free_tag(tag, ap);

Loading…
Cancel
Save