Refreshed all patches.
Remove upstreamed:
- 010-revert-staging-vc04_services-prevent-integer-overflow-in-create_pagelist.patch
Compile-tested on: ar71xx
Runtime-tested on: ar71xx
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
LINUX_RELEASE?=1
-LINUX_VERSION-4.9 = .182
+LINUX_VERSION-4.9 = .183
LINUX_VERSION-4.14 = .128
-LINUX_KERNEL_HASH-4.9.182 = b16e12681a0638368479d73a9b1b8e9407c1ae4b7ae52fdf236d9e5657999695
+LINUX_KERNEL_HASH-4.9.183 = fd57b0991cdbf4e2e933c260356a4768d6685a77460684f8de36a59fd42867f3
LINUX_KERNEL_HASH-4.14.128 = e93c2c754f1f9c610314b2fe9f27a9636ad3a7f43983469bb8e0f44a531f2913
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
-@@ -1213,4 +1213,12 @@ config GPIO_VIPERBOARD
+@@ -1214,4 +1214,12 @@ config GPIO_VIPERBOARD
endmenu
+#endif
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
-@@ -1154,7 +1154,6 @@ menu "SPI GPIO expanders"
+@@ -1155,7 +1155,6 @@ menu "SPI GPIO expanders"
config GPIO_74X164
tristate "74x164 serial-in/parallel-out 8-bits shift register"
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
-@@ -1220,4 +1220,9 @@ config GPIO_NXP_74HC153
+@@ -1221,4 +1221,9 @@ config GPIO_NXP_74HC153
Platform driver for NXP 74HC153 Dual 4-input Multiplexer. This
provides a GPIO interface supporting input mode only.
+++ /dev/null
-From 9a0c16060094eab93f6d928e72f7e8c1cd67a9f8 Mon Sep 17 00:00:00 2001
-From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Date: Wed, 19 Jun 2019 19:15:29 +0200
-Subject: Revert "staging: vc04_services: prevent integer overflow in create_pagelist()"
-
-From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
-This reverts commit cf07331c8827c9e9e0b4274c9b60204c18592241 which was
-commit ca641bae6da977d638458e78cd1487b6160a2718 upstream.
-
-Martin writes:
- This commit breaks the kernel build because the vchiq_pagelist_info
- struct is not defined in v4.9.182.
-
- It was only added in v4.10, in commit
- 4807f2c0e684e907c501cb96049809d7a957dbc2.
-
-Reported-by: Martin Weinelt <martin@linuxlounge.net>
-Cc: Dan Carpenter <dan.carpenter@oracle.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c | 9 ---------
- 1 file changed, 9 deletions(-)
-
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-@@ -381,18 +381,9 @@ create_pagelist(char __user *buf, size_t
- int run, addridx, actual_pages;
- unsigned long *need_release;
-
-- if (count >= INT_MAX - PAGE_SIZE)
-- return NULL;
--
- offset = (unsigned int)buf & (PAGE_SIZE - 1);
- num_pages = (count + offset + PAGE_SIZE - 1) / PAGE_SIZE;
-
-- if (num_pages > (SIZE_MAX - sizeof(PAGELIST_T) -
-- sizeof(struct vchiq_pagelist_info)) /
-- (sizeof(u32) + sizeof(pages[0]) +
-- sizeof(struct scatterlist)))
-- return NULL;
--
- *ppagelist = NULL;
-
- /* Allocate enough storage to hold the page pointers and the page
--- a/drivers/usb/dwc2/hcd.c
+++ b/drivers/usb/dwc2/hcd.c
-@@ -4383,6 +4383,9 @@ static int _dwc2_hcd_suspend(struct usb_
+@@ -4387,6 +4387,9 @@ static int _dwc2_hcd_suspend(struct usb_
if (!HCD_HW_ACCESSIBLE(hcd))
goto unlock;
depends on BROKEN || !FRV
--- a/kernel/Makefile
+++ b/kernel/Makefile
-@@ -113,6 +113,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o
+@@ -114,6 +114,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o
obj-$(CONFIG_MEMBARRIER) += membarrier.o
obj-$(CONFIG_HAS_IOMEM) += memremap.o
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -5922,7 +5922,7 @@ static void __ref alloc_node_mem_map(str
+@@ -5924,7 +5924,7 @@ static void __ref alloc_node_mem_map(str
mem_map = NODE_DATA(0)->node_mem_map;
#if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile
-@@ -4995,6 +5008,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -4998,6 +5011,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (tag < 0)
return NULL;
}
qc = __ata_qc_from_tag(ap, tag);
qc->tag = tag;
-@@ -5896,6 +5912,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5899,6 +5915,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
ata_sff_port_init(ap);
return ap;
-@@ -5917,6 +5936,12 @@ static void ata_host_release(struct devi
+@@ -5920,6 +5939,12 @@ static void ata_host_release(struct devi
kfree(ap->pmp_link);
kfree(ap->slave_link);
kfree(ap);
host->ports[i] = NULL;
}
-@@ -6363,7 +6388,23 @@ int ata_host_register(struct ata_host *h
+@@ -6366,7 +6391,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;
}
};
struct dmar_atsr_unit {
-@@ -4270,27 +4271,40 @@ static inline void init_iommu_pm_ops(voi
+@@ -4268,27 +4269,40 @@ static inline void init_iommu_pm_ops(voi
int __init dmar_parse_one_rmrr(struct acpi_dmar_header *header, void *arg)
{
struct acpi_dmar_reserved_memory *rmrr;
}
static struct dmar_atsr_unit *dmar_find_atsr(struct acpi_dmar_atsr *atsr)
-@@ -4504,6 +4518,7 @@ static void intel_iommu_free_dmars(void)
+@@ -4502,6 +4516,7 @@ static void intel_iommu_free_dmars(void)
list_for_each_entry_safe(rmrru, rmrr_n, &dmar_rmrr_units, list) {
list_del(&rmrru->list);
dmar_free_dev_scope(&rmrru->devices, &rmrru->devices_cnt);
kfree(rmrru);
}
-@@ -5239,6 +5254,45 @@ static void intel_iommu_remove_device(st
+@@ -5240,6 +5255,45 @@ static void intel_iommu_remove_device(st
iommu_device_unlink(iommu->iommu_dev, dev);
}
#ifdef CONFIG_INTEL_IOMMU_SVM
#define MAX_NR_PASID_BITS (20)
static inline unsigned long intel_iommu_get_pts(struct intel_iommu *iommu)
-@@ -5369,19 +5423,21 @@ struct intel_iommu *intel_svm_device_to_
+@@ -5370,19 +5424,21 @@ struct intel_iommu *intel_svm_device_to_
#endif /* CONFIG_INTEL_IOMMU_SVM */
static const struct iommu_ops intel_iommu_ops = {