Refreshed all patches.
Fixes:
- CVE-2020-12114
Compile-tested on: ar71xx
Runtime-tested on: ar71xx
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
LINUX_RELEASE?=1
-LINUX_VERSION-4.9 = .219
+LINUX_VERSION-4.9 = .223
LINUX_VERSION-4.14 = .176
-LINUX_KERNEL_HASH-4.9.219 = 6b17238cced3e1c2753d6d5b4f662bd347d4651f07c35506b849eb10aea7bc44
+LINUX_KERNEL_HASH-4.9.223 = cf5300e6f5d8c66c2bed8f00d53f9c58103731809862427012e4010f5d782ae5
LINUX_KERNEL_HASH-4.14.176 = bcae0956baaeb55dab5bad0401873fbc5baaa7fbe957ea6d27a5ab241cec5ca2
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
xip_enable(map, chip, adr);
op_done:
if (mode == FL_OTP_WRITE)
-@@ -2232,7 +2234,6 @@ static int cfi_amdstd_panic_write(struct
+@@ -2236,7 +2238,6 @@ static int cfi_amdstd_panic_write(struct
return 0;
}
/*
* Handle devices with one erase region, that only implement
* the chip erase command.
-@@ -2300,7 +2301,7 @@ static int __xipram do_erase_chip(struct
+@@ -2304,7 +2305,7 @@ static int __xipram do_erase_chip(struct
}
if (chip_good(map, adr, map_word_ff(map)))
if (time_after(jiffies, timeo)) {
printk(KERN_WARNING "MTD %s(): software timeout\n",
-@@ -2324,6 +2325,7 @@ static int __xipram do_erase_chip(struct
+@@ -2328,6 +2329,7 @@ static int __xipram do_erase_chip(struct
}
}
chip->state = FL_READY;
xip_enable(map, chip, adr);
DISABLE_VPP(map);
-@@ -2397,7 +2399,7 @@ static int __xipram do_erase_oneblock(st
+@@ -2401,7 +2403,7 @@ static int __xipram do_erase_oneblock(st
if (chip_good(map, adr, map_word_ff(map))) {
xip_enable(map, chip, adr);
}
if (time_after(jiffies, timeo)) {
-@@ -2423,6 +2425,7 @@ static int __xipram do_erase_oneblock(st
+@@ -2427,6 +2429,7 @@ static int __xipram do_erase_oneblock(st
}
}
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
unsigned long adr, const u_char *buf,
int len)
-@@ -1924,7 +1929,6 @@ static int __xipram do_write_buffer(stru
+@@ -1928,7 +1933,6 @@ static int __xipram do_write_buffer(stru
return ret;
}
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
size_t *retlen, const u_char *buf)
{
-@@ -1999,6 +2003,7 @@ static int cfi_amdstd_write_buffers(stru
+@@ -2003,6 +2007,7 @@ static int cfi_amdstd_write_buffers(stru
return 0;
}
for (p = *head; p; p = p->next) {
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -461,7 +461,7 @@ static struct neighbour *ipv4_neigh_look
+@@ -459,7 +459,7 @@ static struct neighbour *ipv4_neigh_look
else if (skb)
pkey = &ip_hdr(skb)->daddr;
}
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -5095,7 +5095,7 @@ static void port_event(struct usb_hub *h
+@@ -5109,7 +5109,7 @@ static void port_event(struct usb_hub *h
if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
u16 status = 0, unused;
msleep(100); /* Cool down */
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
-@@ -1924,6 +1924,85 @@ free_interfaces:
+@@ -1931,6 +1931,85 @@ free_interfaces:
if (cp->string == NULL &&
!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
cp->string = usb_cache_string(dev, cp->desc.iConfiguration);
return -ENOMEM;
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
-@@ -2730,6 +2730,8 @@ static const struct file_operations proc
+@@ -2740,6 +2740,8 @@ static const struct file_operations proc
static int __init proc_vmalloc_init(void)
{
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -423,6 +423,9 @@ static struct pernet_operations ip_rt_pr
+@@ -421,6 +421,9 @@ static struct pernet_operations ip_rt_pr
static int __init ip_rt_proc_init(void)
{
int ret;
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -4454,6 +4454,14 @@ hub_port_init(struct usb_hub *hub, struc
+@@ -4468,6 +4468,14 @@ hub_port_init(struct usb_hub *hub, struc
else
speed = usb_speed_string(udev->speed);