diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 4a266529d18..107204d9187 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -2,10 +2,10 @@ LINUX_RELEASE?=1 -LINUX_VERSION-4.9 = .160 +LINUX_VERSION-4.9 = .161 LINUX_VERSION-4.14 = .103 -LINUX_KERNEL_HASH-4.9.160 = c09af067af62d299f5e33c279968de58c88fb7c59bd05e8f3bb460f611f60515 +LINUX_KERNEL_HASH-4.9.161 = e11e830b7e55f9eac768bf3c7617a15da22819552595fe786a1fb20bfa8b28a6 LINUX_KERNEL_HASH-4.14.103 = 7aa43e34e4c9e5965da29cef5ae196e06006f8c0d1d65fd755a2f197f0796a11 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) diff --git a/target/linux/generic/backport-4.9/011-kbuild-export-SUBARCH.patch b/target/linux/generic/backport-4.9/011-kbuild-export-SUBARCH.patch index d937c83f338..6ef95db8dd0 100644 --- a/target/linux/generic/backport-4.9/011-kbuild-export-SUBARCH.patch +++ b/target/linux/generic/backport-4.9/011-kbuild-export-SUBARCH.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -411,8 +411,8 @@ KERNELRELEASE = $(shell cat include/conf +@@ -406,8 +406,8 @@ KERNELRELEASE = $(shell cat include/conf KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION) export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION diff --git a/target/linux/generic/backport-4.9/021-bridge-multicast-to-unicast.patch b/target/linux/generic/backport-4.9/021-bridge-multicast-to-unicast.patch index 4b7e8ba75a6..1d3ce28128d 100644 --- a/target/linux/generic/backport-4.9/021-bridge-multicast-to-unicast.patch +++ b/target/linux/generic/backport-4.9/021-bridge-multicast-to-unicast.patch @@ -285,7 +285,7 @@ Signed-off-by: Linus Lüssing if (err) break; } -@@ -1465,7 +1502,8 @@ br_multicast_leave_group(struct net_brid +@@ -1458,7 +1495,8 @@ br_multicast_leave_group(struct net_brid struct net_bridge_port *port, struct br_ip *group, struct bridge_mcast_other_query *other_query, @@ -295,7 +295,7 @@ Signed-off-by: Linus Lüssing { struct net_bridge_mdb_htable *mdb; struct net_bridge_mdb_entry *mp; -@@ -1489,7 +1527,7 @@ br_multicast_leave_group(struct net_brid +@@ -1482,7 +1520,7 @@ br_multicast_leave_group(struct net_brid for (pp = &mp->ports; (p = mlock_dereference(*pp, br)) != NULL; pp = &p->next) { @@ -304,7 +304,7 @@ Signed-off-by: Linus Lüssing continue; rcu_assign_pointer(*pp, p->next); -@@ -1520,7 +1558,7 @@ br_multicast_leave_group(struct net_brid +@@ -1513,7 +1551,7 @@ br_multicast_leave_group(struct net_brid for (p = mlock_dereference(mp->ports, br); p != NULL; p = mlock_dereference(p->next, br)) { @@ -313,7 +313,7 @@ Signed-off-by: Linus Lüssing continue; if (!hlist_unhashed(&p->mglist) && -@@ -1571,7 +1609,8 @@ out: +@@ -1564,7 +1602,8 @@ out: static void br_ip4_multicast_leave_group(struct net_bridge *br, struct net_bridge_port *port, __be32 group, @@ -323,7 +323,7 @@ Signed-off-by: Linus Lüssing { struct br_ip br_group; struct bridge_mcast_own_query *own_query; -@@ -1586,14 +1625,15 @@ static void br_ip4_multicast_leave_group +@@ -1579,14 +1618,15 @@ static void br_ip4_multicast_leave_group br_group.vid = vid; br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query, @@ -341,7 +341,7 @@ Signed-off-by: Linus Lüssing { struct br_ip br_group; struct bridge_mcast_own_query *own_query; -@@ -1608,7 +1648,7 @@ static void br_ip6_multicast_leave_group +@@ -1601,7 +1641,7 @@ static void br_ip6_multicast_leave_group br_group.vid = vid; br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query, @@ -350,7 +350,7 @@ Signed-off-by: Linus Lüssing } #endif -@@ -1651,6 +1691,7 @@ static int br_multicast_ipv4_rcv(struct +@@ -1644,6 +1684,7 @@ static int br_multicast_ipv4_rcv(struct u16 vid) { struct sk_buff *skb_trimmed = NULL; @@ -358,7 +358,7 @@ Signed-off-by: Linus Lüssing struct igmphdr *ih; int err; -@@ -1666,13 +1707,14 @@ static int br_multicast_ipv4_rcv(struct +@@ -1659,13 +1700,14 @@ static int br_multicast_ipv4_rcv(struct } ih = igmp_hdr(skb); @@ -374,7 +374,7 @@ Signed-off-by: Linus Lüssing break; case IGMPV3_HOST_MEMBERSHIP_REPORT: err = br_ip4_multicast_igmp3_report(br, port, skb_trimmed, vid); -@@ -1681,7 +1723,7 @@ static int br_multicast_ipv4_rcv(struct +@@ -1674,7 +1716,7 @@ static int br_multicast_ipv4_rcv(struct err = br_ip4_multicast_query(br, port, skb_trimmed, vid); break; case IGMP_HOST_LEAVE_MESSAGE: @@ -383,7 +383,7 @@ Signed-off-by: Linus Lüssing break; } -@@ -1701,6 +1743,7 @@ static int br_multicast_ipv6_rcv(struct +@@ -1694,6 +1736,7 @@ static int br_multicast_ipv6_rcv(struct u16 vid) { struct sk_buff *skb_trimmed = NULL; @@ -391,7 +391,7 @@ Signed-off-by: Linus Lüssing struct mld_msg *mld; int err; -@@ -1720,8 +1763,10 @@ static int br_multicast_ipv6_rcv(struct +@@ -1713,8 +1756,10 @@ static int br_multicast_ipv6_rcv(struct switch (mld->mld_type) { case ICMPV6_MGM_REPORT: @@ -403,7 +403,7 @@ Signed-off-by: Linus Lüssing break; case ICMPV6_MLD2_REPORT: err = br_ip6_multicast_mld2_report(br, port, skb_trimmed, vid); -@@ -1730,7 +1775,8 @@ static int br_multicast_ipv6_rcv(struct +@@ -1723,7 +1768,8 @@ static int br_multicast_ipv6_rcv(struct err = br_ip6_multicast_query(br, port, skb_trimmed, vid); break; case ICMPV6_MGM_REDUCTION: diff --git a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch index 20e7ae06541..dc409ea0695 100644 --- a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch +++ b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch @@ -1095,7 +1095,7 @@ Signed-off-by: David S. Miller dma_intr_ena = smsc9420_reg_read(pd, DMAC_INTR_ENA); --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -2706,7 +2706,7 @@ static int stmmac_poll(struct napi_struc +@@ -2702,7 +2702,7 @@ static int stmmac_poll(struct napi_struc work_done = stmmac_rx(priv, budget); if (work_done < budget) { diff --git a/target/linux/generic/hack-4.9/202-reduce_module_size.patch b/target/linux/generic/hack-4.9/202-reduce_module_size.patch index f744b945fee..a9f97a69d80 100644 --- a/target/linux/generic/hack-4.9/202-reduce_module_size.patch +++ b/target/linux/generic/hack-4.9/202-reduce_module_size.patch @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -403,7 +403,7 @@ KBUILD_AFLAGS_KERNEL := +@@ -398,7 +398,7 @@ KBUILD_AFLAGS_KERNEL := KBUILD_CFLAGS_KERNEL := KBUILD_AFLAGS_MODULE := -DMODULE KBUILD_CFLAGS_MODULE := -DMODULE diff --git a/target/linux/generic/hack-4.9/207-disable-modorder.patch b/target/linux/generic/hack-4.9/207-disable-modorder.patch index 5f7eb64bd28..c66a4db2000 100644 --- a/target/linux/generic/hack-4.9/207-disable-modorder.patch +++ b/target/linux/generic/hack-4.9/207-disable-modorder.patch @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -1231,7 +1231,6 @@ all: modules +@@ -1227,7 +1227,6 @@ all: modules PHONY += modules modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin @@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau @$(kecho) ' Building modules, stage 2.'; $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild -@@ -1261,7 +1260,6 @@ _modinst_: +@@ -1257,7 +1256,6 @@ _modinst_: rm -f $(MODLIB)/build ; \ ln -s $(CURDIR) $(MODLIB)/build ; \ fi diff --git a/target/linux/generic/hack-4.9/220-gc_sections.patch b/target/linux/generic/hack-4.9/220-gc_sections.patch index e326412d0e7..ea6ce0bcf7e 100644 --- a/target/linux/generic/hack-4.9/220-gc_sections.patch +++ b/target/linux/generic/hack-4.9/220-gc_sections.patch @@ -21,7 +21,7 @@ Signed-off-by: Gabor Juhos --- a/Makefile +++ b/Makefile -@@ -406,6 +406,11 @@ KBUILD_CFLAGS_MODULE := -DMODULE +@@ -401,6 +401,11 @@ KBUILD_CFLAGS_MODULE := -DMODULE KBUILD_LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds $(if $(CONFIG_PROFILING),,-s) GCC_PLUGINS_CFLAGS := @@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos # Read KERNELRELEASE from include/config/kernel.release (if it exists) KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null) KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION) -@@ -673,11 +678,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni +@@ -649,11 +654,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context) KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias) diff --git a/target/linux/generic/pending-4.9/201-extra_optimization.patch b/target/linux/generic/pending-4.9/201-extra_optimization.patch index 7a9d1319950..7b6397919e9 100644 --- a/target/linux/generic/pending-4.9/201-extra_optimization.patch +++ b/target/linux/generic/pending-4.9/201-extra_optimization.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -680,12 +680,12 @@ endif +@@ -656,12 +656,12 @@ endif ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += $(call cc-option,-Oz,-Os) diff --git a/target/linux/generic/pending-4.9/332-arc-add-OWRTDTB-section.patch b/target/linux/generic/pending-4.9/332-arc-add-OWRTDTB-section.patch index 79d67c8bf08..4937e11782f 100644 --- a/target/linux/generic/pending-4.9/332-arc-add-OWRTDTB-section.patch +++ b/target/linux/generic/pending-4.9/332-arc-add-OWRTDTB-section.patch @@ -19,8 +19,8 @@ Signed-off-by: Alexey Brodkin --- a/arch/arc/kernel/head.S +++ b/arch/arc/kernel/head.S -@@ -49,6 +49,16 @@ - 1: +@@ -59,6 +59,16 @@ + #endif .endm +; Here "patch-dtb" will embed external .dtb @@ -38,24 +38,24 @@ Signed-off-by: Alexey Brodkin ;---------------------------------------------------------------- --- a/arch/arc/kernel/setup.c +++ b/arch/arc/kernel/setup.c -@@ -388,6 +388,8 @@ static inline int is_kernel(unsigned lon - return 0; +@@ -436,7 +436,7 @@ ignore_uboot_args: + #endif + + if (use_embedded_dtb) { +- machine_desc = setup_machine_fdt(__dtb_start); ++ machine_desc = setup_machine_fdt(&__image_dtb); + if (!machine_desc) + panic("Embedded DT invalid\n"); + } +@@ -452,6 +452,8 @@ ignore_uboot_args: + } } +extern struct boot_param_header __image_dtb; + void __init setup_arch(char **cmdline_p) { - #ifdef CONFIG_ARC_UBOOT_SUPPORT -@@ -401,7 +403,7 @@ void __init setup_arch(char **cmdline_p) - #endif - { - /* No, so try the embedded one */ -- machine_desc = setup_machine_fdt(__dtb_start); -+ machine_desc = setup_machine_fdt(&__image_dtb); - if (!machine_desc) - panic("Embedded DT invalid\n"); - + handle_uboot_args(); --- a/arch/arc/kernel/vmlinux.lds.S +++ b/arch/arc/kernel/vmlinux.lds.S @@ -30,6 +30,19 @@ SECTIONS