Refreshed all patches.
Fixes:
- CVE-2019-3846
Compile-tested on: ar71xx
Runtime-tested on: ar71xx
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
LINUX_RELEASE?=1
-LINUX_VERSION-4.9 = .184
+LINUX_VERSION-4.9 = .186
LINUX_VERSION-4.14 = .132
-LINUX_KERNEL_HASH-4.9.184 = 033114d5350525dede995d31b596c31b0e26db8d77a0a1c53d36cdc36ead9faf
+LINUX_KERNEL_HASH-4.9.186 = 242484430d0729791d8efd92181b7d34b4021050646c6e00cf459866eab94b6a
LINUX_KERNEL_HASH-4.14.132 = da86f39a722da656fce4e2685223093b5d5f4db94046fcd79e492428a82ff330
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
#define AR7_IRQ_UART0 15
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -161,7 +161,7 @@ config AR7
+@@ -162,7 +162,7 @@ config AR7
select HAVE_CLK
help
Support for the Texas Instruments AR7 System-on-a-Chip
config ATH25
bool "Atheros AR231x/AR531x SoC support"
-@@ -1008,6 +1008,7 @@ config MIPS_PARAVIRT
+@@ -1009,6 +1009,7 @@ config MIPS_PARAVIRT
endchoice
source "arch/mips/alchemy/Kconfig"
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1153,6 +1153,9 @@ config MIPS_MSC
+@@ -1154,6 +1154,9 @@ config MIPS_MSC
config MIPS_NILE4
bool
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -196,7 +196,6 @@ config ATH79
+@@ -197,7 +197,6 @@ config ATH79
select SYS_SUPPORTS_BIG_ENDIAN
select SYS_SUPPORTS_MIPS16
select SYS_SUPPORTS_ZBOOT_UART_PROM
/*
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
-@@ -968,6 +968,9 @@ build_get_pgde32(u32 **p, unsigned int t
+@@ -973,6 +973,9 @@ build_get_pgde32(u32 **p, unsigned int t
uasm_i_srl(p, ptr, ptr, SMP_CPUID_PTRSHIFT);
uasm_i_addu(p, ptr, tmp, ptr);
#else
UASM_i_LA_mostly(p, ptr, pgdc);
#endif
uasm_i_mfc0(p, tmp, C0_BADVADDR); /* get faulting address */
-@@ -1310,6 +1313,9 @@ static void build_r4000_tlb_refill_handl
+@@ -1316,6 +1319,9 @@ static void build_r4000_tlb_refill_handl
#ifdef CONFIG_64BIT
build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */
#else
build_get_pgde32(&p, K0, K1); /* get pgd in K1 */
#endif
-@@ -1321,6 +1327,9 @@ static void build_r4000_tlb_refill_handl
+@@ -1327,6 +1333,9 @@ static void build_r4000_tlb_refill_handl
build_update_entries(&p, K0, K1);
build_tlb_write_entry(&p, &l, &r, tlb_random);
uasm_l_leave(&l, p);
uasm_i_eret(&p); /* return from trap */
}
#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
-@@ -2003,6 +2012,9 @@ build_r4000_tlbchange_handler_head(u32 *
+@@ -2014,6 +2023,9 @@ build_r4000_tlbchange_handler_head(u32 *
#ifdef CONFIG_64BIT
build_get_pmde64(p, l, r, wr.r1, wr.r2); /* get pmd in ptr */
#else
build_get_pgde32(p, wr.r1, wr.r2); /* get pgd in ptr */
#endif
-@@ -2049,6 +2061,9 @@ build_r4000_tlbchange_handler_tail(u32 *
+@@ -2060,6 +2072,9 @@ build_r4000_tlbchange_handler_tail(u32 *
build_tlb_write_entry(p, l, r, tlb_indexed);
uasm_l_leave(l, *p);
build_restore_work_registers(p);
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -272,6 +272,7 @@ config BCM63XX
+@@ -273,6 +273,7 @@ config BCM63XX
select GPIOLIB
select HAVE_CLK
select MIPS_L1_CACHE_SHIFT_4
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -265,6 +265,9 @@ config BCM63XX
+@@ -266,6 +266,9 @@ config BCM63XX
select SYNC_R4K
select DMA_NONCOHERENT
select IRQ_MIPS_CPU
# 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)
-@@ -649,11 +654,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni
- KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context)
+@@ -650,11 +655,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni
+ KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias)
-ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
.init.data : {
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -55,6 +55,7 @@ config MIPS
+@@ -56,6 +56,7 @@ config MIPS
select CLONE_BACKWARDS
select HAVE_DEBUG_STACKOVERFLOW
select HAVE_CC_STACKPROTECTOR
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1159,6 +1159,10 @@ config SYNC_R4K
+@@ -1160,6 +1160,10 @@ config SYNC_R4K
config MIPS_MACHINE
def_bool n
--- a/Makefile
+++ b/Makefile
-@@ -655,12 +655,12 @@ KBUILD_CFLAGS += $(call cc-option,-fdata
+@@ -656,12 +656,12 @@ KBUILD_CFLAGS += $(call cc-option,-fdata
endif
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
---
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1068,9 +1068,6 @@ config FW_ARC
+@@ -1069,9 +1069,6 @@ config FW_ARC
config ARCH_MAY_HAVE_PC_FDC
bool
config CEVT_BCM1480
bool
-@@ -2967,6 +2964,18 @@ choice
+@@ -2968,6 +2965,18 @@ choice
bool "Extend builtin kernel arguments with bootloader arguments"
endchoice
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -2891,6 +2891,20 @@ config MIPS_O32_FP64_SUPPORT
+@@ -2892,6 +2892,20 @@ config MIPS_O32_FP64_SUPPORT
If unsure, say N.
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -214,6 +214,7 @@ config BMIPS_GENERIC
+@@ -215,6 +215,7 @@ config BMIPS_GENERIC
select BRCMSTB_L2_IRQ
select IRQ_MIPS_CPU
select DMA_NONCOHERENT
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_LITTLE_ENDIAN
select SYS_SUPPORTS_BIG_ENDIAN
-@@ -339,6 +340,7 @@ config MACH_JAZZ
+@@ -340,6 +341,7 @@ config MACH_JAZZ
select CSRC_R4K
select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
select GENERIC_ISA_DMA
select HAVE_PCSPKR_PLATFORM
select IRQ_MIPS_CPU
select I8253
-@@ -1129,6 +1131,9 @@ config DMA_NONCOHERENT
+@@ -1130,6 +1132,9 @@ config DMA_NONCOHERENT
bool
select NEED_DMA_MAP_STATE
config NEED_DMA_MAP_STATE
bool
-@@ -1653,6 +1658,7 @@ config CPU_R10000
+@@ -1654,6 +1659,7 @@ config CPU_R10000
select CPU_SUPPORTS_64BIT_KERNEL
select CPU_SUPPORTS_HIGHMEM
select CPU_SUPPORTS_HUGEPAGES
help
MIPS Technologies R10000-series processors.
-@@ -1898,9 +1904,11 @@ config SYS_HAS_CPU_MIPS32_R3_5
+@@ -1899,9 +1905,11 @@ config SYS_HAS_CPU_MIPS32_R3_5
bool
config SYS_HAS_CPU_MIPS32_R5
bool
config SYS_HAS_CPU_MIPS64_R1
-@@ -1910,6 +1918,7 @@ config SYS_HAS_CPU_MIPS64_R2
+@@ -1911,6 +1919,7 @@ config SYS_HAS_CPU_MIPS64_R2
bool
config SYS_HAS_CPU_MIPS64_R6
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
-@@ -3270,6 +3272,7 @@ static int packet_create(struct net *net
+@@ -3284,6 +3286,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
-@@ -3883,6 +3886,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3897,6 +3900,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
default:
return -ENOPROTOOPT;
}
-@@ -3935,6 +3948,13 @@ static int packet_getsockopt(struct sock
+@@ -3949,6 +3962,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;
break;
--- a/net/packet/internal.h
+++ b/net/packet/internal.h
-@@ -128,6 +128,7 @@ struct packet_sock {
+@@ -129,6 +129,7 @@ struct packet_sock {
struct net_device __rcu *cached_dev;
int (*xmit)(struct sk_buff *skb);
struct packet_type prot_hook ____cacheline_aligned_in_smp;
if (!(skb->dev->features & NETIF_F_GRO))
goto normal;
-@@ -5864,6 +5867,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5867,6 +5870,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info)
-@@ -5936,6 +5981,7 @@ static int __netdev_upper_dev_link(struc
+@@ -5939,6 +5984,7 @@ static int __netdev_upper_dev_link(struc
goto rollback_lower_mesh;
}
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
&changeupper_info.info);
ret = notifier_to_errno(ret);
-@@ -6062,6 +6108,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -6065,6 +6111,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, i->ref_nr);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
&changeupper_info.info);
}
-@@ -6664,6 +6711,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6667,6 +6714,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
case UPIO_AU:
p->serial_out(p, offset, value);
p->serial_in(p, UART_LCR); /* safe, no side-effects */
-@@ -2759,6 +2779,7 @@ static int serial8250_request_std_resour
+@@ -2758,6 +2778,7 @@ static int serial8250_request_std_resour
case UPIO_MEM32BE:
case UPIO_MEM16:
case UPIO_MEM:
if (!port->mapbase)
break;
-@@ -2797,6 +2818,7 @@ static void serial8250_release_std_resou
+@@ -2796,6 +2817,7 @@ static void serial8250_release_std_resou
case UPIO_MEM32BE:
case UPIO_MEM16:
case UPIO_MEM:
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -2324,6 +2324,12 @@ config MIPS_VPE_LOADER
+@@ -2325,6 +2325,12 @@ config MIPS_VPE_LOADER
Includes a loader for loading an elf relocatable object
onto another VPE and running it.
* These are the defined Ethernet Protocol ID's.
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -6656,9 +6656,18 @@ int dev_set_mtu(struct net_device *dev,
+@@ -6659,9 +6659,18 @@ int dev_set_mtu(struct net_device *dev,
if (new_mtu == dev->mtu)
return 0;
--- a/crypto/crypto_user.c
+++ b/crypto/crypto_user.c
-@@ -112,6 +112,21 @@ nla_put_failure:
+@@ -115,6 +115,21 @@ nla_put_failure:
return -EMSGSIZE;
}
static int crypto_report_akcipher(struct sk_buff *skb, struct crypto_alg *alg)
{
struct crypto_report_akcipher rakcipher;
-@@ -186,7 +201,11 @@ static int crypto_report_one(struct cryp
+@@ -189,7 +204,11 @@ static int crypto_report_one(struct cryp
goto nla_put_failure;
break;