diff options
-rw-r--r-- | Add-option-to-automatically-enforce-module-signature.patch | 4 | ||||
-rw-r--r-- | Add-secure_modules-call.patch | 4 | ||||
-rw-r--r-- | Add-sysrq-option-to-disable-secure-boot-mode.patch | 4 | ||||
-rw-r--r-- | PCI-Lock-down-BAR-access-when-module-security-is-ena.patch | 8 | ||||
-rw-r--r-- | arm-fix-iommu-exynos.patch | 48 | ||||
-rw-r--r-- | arm-fix-iommu-omap.patch | 48 | ||||
-rw-r--r-- | arm-fix-iommu-rockchip.patch | 51 | ||||
-rw-r--r-- | kernel.spec | 14 | ||||
-rw-r--r-- | sources | 2 |
9 files changed, 15 insertions, 168 deletions
diff --git a/Add-option-to-automatically-enforce-module-signature.patch b/Add-option-to-automatically-enforce-module-signature.patch index b0126a8ac..537565bcd 100644 --- a/Add-option-to-automatically-enforce-module-signature.patch +++ b/Add-option-to-automatically-enforce-module-signature.patch @@ -163,10 +163,10 @@ index 0c86ec9e10ed..b02dfaacc76c 100644 extern int modules_disabled; /* for sysctl */ diff --git a/kernel/module.c b/kernel/module.c -index 1a9955e8b11d..5e0b4854884f 100644 +index e6ff2181b2a5..95931292f3c4 100644 --- a/kernel/module.c +++ b/kernel/module.c -@@ -3894,6 +3894,13 @@ void module_layout(struct module *mod, +@@ -3892,6 +3892,13 @@ void module_layout(struct module *mod, EXPORT_SYMBOL(module_layout); #endif diff --git a/Add-secure_modules-call.patch b/Add-secure_modules-call.patch index 02c4af982..51d3894c4 100644 --- a/Add-secure_modules-call.patch +++ b/Add-secure_modules-call.patch @@ -41,10 +41,10 @@ index 42999fe2dbd0..0c86ec9e10ed 100644 #ifdef CONFIG_SYSFS diff --git a/kernel/module.c b/kernel/module.c -index cc93cf68653c..1a9955e8b11d 100644 +index b3d634ed06c9..e6ff2181b2a5 100644 --- a/kernel/module.c +++ b/kernel/module.c -@@ -3893,3 +3893,13 @@ void module_layout(struct module *mod, +@@ -3891,3 +3891,13 @@ void module_layout(struct module *mod, } EXPORT_SYMBOL(module_layout); #endif diff --git a/Add-sysrq-option-to-disable-secure-boot-mode.patch b/Add-sysrq-option-to-disable-secure-boot-mode.patch index 0477d61a4..efb66ffa9 100644 --- a/Add-sysrq-option-to-disable-secure-boot-mode.patch +++ b/Add-sysrq-option-to-disable-secure-boot-mode.patch @@ -228,10 +228,10 @@ index 4121345498e0..0ff3cef5df96 100644 return 0; diff --git a/kernel/module.c b/kernel/module.c -index 5e0b4854884f..c67d5eff2ca3 100644 +index 95931292f3c4..974381763108 100644 --- a/kernel/module.c +++ b/kernel/module.c -@@ -108,9 +108,9 @@ struct list_head *kdb_modules = &modules; /* kdb needs the list of modules */ +@@ -107,9 +107,9 @@ struct list_head *kdb_modules = &modules; /* kdb needs the list of modules */ #ifdef CONFIG_MODULE_SIG #ifdef CONFIG_MODULE_SIG_FORCE diff --git a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch index 9a234bcfc..916ba60eb 100644 --- a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch +++ b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch @@ -16,7 +16,7 @@ Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com> 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c -index aa012fb3834b..35cb5e9ff9a1 100644 +index 312f23a8429c..93e6ac103dd0 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c @@ -30,6 +30,7 @@ @@ -27,7 +27,7 @@ index aa012fb3834b..35cb5e9ff9a1 100644 #include "pci.h" static int sysfs_initialized; /* = 0 */ -@@ -709,6 +710,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj, +@@ -710,6 +711,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj, loff_t init_off = off; u8 *data = (u8 *) buf; @@ -37,7 +37,7 @@ index aa012fb3834b..35cb5e9ff9a1 100644 if (off > dev->cfg_size) return 0; if (off + count > dev->cfg_size) { -@@ -1003,6 +1007,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr, +@@ -1004,6 +1008,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr, resource_size_t start, end; int i; @@ -47,7 +47,7 @@ index aa012fb3834b..35cb5e9ff9a1 100644 for (i = 0; i < PCI_ROM_RESOURCE; i++) if (res == &pdev->resource[i]) break; -@@ -1104,6 +1111,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj, +@@ -1105,6 +1112,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj, struct bin_attribute *attr, char *buf, loff_t off, size_t count) { diff --git a/arm-fix-iommu-exynos.patch b/arm-fix-iommu-exynos.patch deleted file mode 100644 index 447716fe0..000000000 --- a/arm-fix-iommu-exynos.patch +++ /dev/null @@ -1,48 +0,0 @@ -From: Thierry Reding <treding at nvidia.com> - -The Exynos System MMU driver unconditionally executes code and registers -a struct iommu_ops with the platform bus irrespective of whether it runs -on an Exynos SoC or not. This causes problems in multi-platform kernels -where drivers for other SoCs will no longer be able to register their -own struct iommu_ops or even try to use a struct iommu_ops for an IOMMU -that obviously isn't there. - -The smallest fix I could think of is to check for the existence of any -Exynos System MMU devices in the device tree and skip initialization -otherwise. - -This fixes a problem on Tegra20 where the DRM driver will try to use the -obviously non-existent Exynos System MMU. - -Reported-by: Nicolas Chauvet <kwizart at gmail.com> -Cc: Kukjin Kim <kgene at kernel.org> -Signed-off-by: Thierry Reding <treding at nvidia.com> ---- -Changes in v2: -- drop reference to struct device_node - - drivers/iommu/exynos-iommu.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c -index 7ce52737c7a1..dc14fec4ede1 100644 ---- a/drivers/iommu/exynos-iommu.c -+++ b/drivers/iommu/exynos-iommu.c -@@ -1186,8 +1186,15 @@ static const struct iommu_ops exynos_iommu_ops = { - - static int __init exynos_iommu_init(void) - { -+ struct device_node *np; - int ret; - -+ np = of_find_matching_node(NULL, sysmmu_of_match); -+ if (!np) -+ return 0; -+ -+ of_node_put(np); -+ - lv2table_kmem_cache = kmem_cache_create("exynos-iommu-lv2table", - LV2TABLE_SIZE, LV2TABLE_SIZE, 0, NULL); - if (!lv2table_kmem_cache) { --- -2.1.3 diff --git a/arm-fix-iommu-omap.patch b/arm-fix-iommu-omap.patch deleted file mode 100644 index cf864ae69..000000000 --- a/arm-fix-iommu-omap.patch +++ /dev/null @@ -1,48 +0,0 @@ -From: Thierry Reding <treding at nvidia.com> - -The OMAP IOMMU driver unconditionally executes code and registers a -struct iommu_ops with the platform bus irrespective of whether it runs -on an OMAP SoC or not. This causes problems in multi-platform kernels -where drivers for other SoCs will no longer be able to register their -own struct iommu_ops or even try to use a struct iommu_ops for an IOMMU -that obviously isn't there. - -The smallest fix I could think of is to check for the existence of any -OMAP IOMMU devices in the device tree and skip initialization otherwise. - -This fixes a problem on Tegra20 where the DRM driver will try to use the -obviously non-existent OMAP IOMMU. - -Reported-by: Nicolas Chauvet <kwizart at gmail.com> -Cc: Tony Lindgren <tony at atomide.com> -Cc: Suman Anna <s-anna at ti.com> -Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com> -Signed-off-by: Thierry Reding <treding at nvidia.com> ---- -Changes in v2: -- do not fix up module exit function since it's dead code -- drop reference to struct device_node - - drivers/iommu/omap-iommu.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c -index f59f857b702e..a4ba851825c2 100644 ---- a/drivers/iommu/omap-iommu.c -+++ b/drivers/iommu/omap-iommu.c -@@ -1376,6 +1376,13 @@ static int __init omap_iommu_init(void) - struct kmem_cache *p; - const unsigned long flags = SLAB_HWCACHE_ALIGN; - size_t align = 1 << 10; /* L2 pagetable alignement */ -+ struct device_node *np; -+ -+ np = of_find_matching_node(NULL, omap_iommu_of_match); -+ if (!np) -+ return 0; -+ -+ of_node_put(np); - - p = kmem_cache_create("iopte_cache", IOPTE_TABLE_SIZE, align, flags, - iopte_cachep_ctor); --- -2.1.3 diff --git a/arm-fix-iommu-rockchip.patch b/arm-fix-iommu-rockchip.patch deleted file mode 100644 index def4a0df8..000000000 --- a/arm-fix-iommu-rockchip.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Thierry Reding <treding at nvidia.com> - -The Rockchip IOMMU driver unconditionally executes code and registers a -struct iommu_ops with the platform bus irrespective of whether it runs -on a Rockchip SoC or not. This causes problems in multi-platform kernels -where drivers for other SoCs will no longer be able to register their -own struct iommu_ops or even try to use a struct iommu_ops for an IOMMU -that obviously isn't there. - -The smallest fix I could think of is to check for the existence of any -Rockchip IOMMU devices in the device tree and skip initialization -otherwise. - -This fixes a problem on Tegra20 where the DRM driver will try to use the -obviously non-existent Rockchip IOMMU. -Reported-by: Nicolas Chauvet <kwizart at gmail.com> -Cc: Heiko Stuebner <heiko at sntech.de> -Cc: Daniel Kurtz <djkurtz at chromium.org> -Reviewed-by: Heiko Stuebner <heiko at sntech.de> -Tested-by: Heiko Stuebner <heiko at sntech.de> -Signed-off-by: Thierry Reding <treding at nvidia.com> ---- -Changes in v2: -- do not fix up module exit function since it's dead code -- drop reference to struct device_node - - drivers/iommu/rockchip-iommu.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c -index 6a8b1ec4a48a..9f74fddcd304 100644 ---- a/drivers/iommu/rockchip-iommu.c -+++ b/drivers/iommu/rockchip-iommu.c -@@ -1015,8 +1015,15 @@ static struct platform_driver rk_iommu_driver = { - - static int __init rk_iommu_init(void) - { -+ struct device_node *np; - int ret; - -+ np = of_find_matching_node(NULL, rk_iommu_dt_ids); -+ if (!np) -+ return 0; -+ -+ of_node_put(np); -+ - ret = bus_set_iommu(&platform_bus_type, &rk_iommu_ops); - if (ret) - return ret; --- -2.1.3 diff --git a/kernel.spec b/kernel.spec index b37678f8f..20cf22ce5 100644 --- a/kernel.spec +++ b/kernel.spec @@ -70,7 +70,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 3 # The git snapshot level -%define gitrev 1 +%define gitrev 2 # Set rpm version accordingly %define rpmversion 4.%{upstream_sublevel}.0 %endif @@ -592,11 +592,6 @@ Patch21026: pinctrl-pinctrl-single-must-be-initialized-early.patch Patch21028: arm-i.MX6-Utilite-device-dtb.patch -# IOMMU crash fixes - https://lists.linuxfoundation.org/pipermail/iommu/2015-February/012329.html -Patch21030: arm-fix-iommu-omap.patch -Patch21031: arm-fix-iommu-exynos.patch -Patch21032: arm-fix-iommu-rockchip.patch - Patch21100: arm-highbank-l2-reverts.patch #rhbz 754518 @@ -1248,10 +1243,6 @@ ApplyPatch pinctrl-pinctrl-single-must-be-initialized-early.patch ApplyPatch arm-i.MX6-Utilite-device-dtb.patch -ApplyPatch arm-fix-iommu-omap.patch -ApplyPatch arm-fix-iommu-exynos.patch -ApplyPatch arm-fix-iommu-rockchip.patch - ApplyPatch arm-highbank-l2-reverts.patch # @@ -2275,6 +2266,9 @@ fi # # %changelog +* Fri Mar 13 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.0.0-0.rc3.git2.1 +- Linux v4.0-rc3-148-gc202baf017ae + * Thu Mar 12 2015 Josh Boyer <jwboyer@fedoraproject.org> - CVE-2014-8159 infiniband: uverbs: unprotected physical memory access (rhbz 1181166 1200950) @@ -1,3 +1,3 @@ ea00d3ccc1249e1d068c96eb090a8cec linux-4.0-rc3.tar.xz 2d0e6d7e3c2ef9968f929ec031a36f93 perf-man-4.0-rc3.tar.gz -dd822b41a25a20c797e15b3b16efd4d2 patch-4.0-rc3-git1.xz +30f8cfa798597dc3afce1f5e0986f215 patch-4.0-rc3-git2.xz |