diff options
author | Thorsten Leemhuis <fedora@leemhuis.info> | 2017-01-16 20:18:17 +0100 |
---|---|---|
committer | Thorsten Leemhuis <fedora@leemhuis.info> | 2017-01-16 20:18:17 +0100 |
commit | ac37a91d6204b7f29464032e47168bc41219fd3f (patch) | |
tree | 5c064ddeab04e8b22bbcb5901d1ce4884d23257f | |
parent | 0ca5dc3115f7d3bd0db92143e9d306c8b29daa2c (diff) | |
parent | 411d3b79f725abf71004a5eb845a838c46c217ce (diff) | |
download | kernel-4.10.0-0.rc4.git0.1.vanilla.knurd.1.fc24.tar.gz kernel-4.10.0-0.rc4.git0.1.vanilla.knurd.1.fc24.tar.xz kernel-4.10.0-0.rc4.git0.1.vanilla.knurd.1.fc24.zip |
Merge remote-tracking branch 'origin/master'kernel-4.10.0-0.rc4.git0.1.vanilla.knurd.1.fc26kernel-4.10.0-0.rc4.git0.1.vanilla.knurd.1.fc25kernel-4.10.0-0.rc4.git0.1.vanilla.knurd.1.fc24
-rw-r--r-- | 0001-efi-prune-invalid-memory-map-entries.patch | 141 | ||||
-rw-r--r-- | baseconfig/arm/CONFIG_POWER_AVS (renamed from baseconfig/arm/armv7/CONFIG_POWER_AVS) | 0 | ||||
-rw-r--r-- | bcm2837-initial-support.patch | 63 | ||||
-rw-r--r-- | efi-lockdown.patch | 4 | ||||
-rw-r--r-- | gitrev | 2 | ||||
-rw-r--r-- | kernel-aarch64-debug.config | 2 | ||||
-rw-r--r-- | kernel-aarch64.config | 2 | ||||
-rw-r--r-- | kernel.spec | 16 | ||||
-rw-r--r-- | sources | 3 |
9 files changed, 79 insertions, 154 deletions
diff --git a/0001-efi-prune-invalid-memory-map-entries.patch b/0001-efi-prune-invalid-memory-map-entries.patch deleted file mode 100644 index 4b65ef504..000000000 --- a/0001-efi-prune-invalid-memory-map-entries.patch +++ /dev/null @@ -1,141 +0,0 @@ -From c7c7030a020405d5826c03839e38986e0f78f2ea Mon Sep 17 00:00:00 2001 -From: Peter Jones <pjones@redhat.com> -Date: Tue, 13 Dec 2016 10:25:10 +0000 -Subject: [PATCH] efi: prune invalid memory map entries - -Some machines, such as the Lenovo ThinkPad W541 with firmware GNET80WW -(2.28), include memory map entries with phys_addr=0x0 and num_pages=0. - -Currently the log output for this case (with efi=debug) looks like: - -[ 0.000000] efi: mem45: [Reserved | | | | | | | | | | | | ] range=[0x0000000000000000-0xffffffffffffffff] (0MB) - -This is clearly wrong, and also not as informative as it could be. This -patch changes it so that if we find obviously invalid memory map -entries, we print an error and those entries. It also detects the -display of the address range calculation overflow, so the new output is: - -[ 0.000000] efi: [Firmware Bug]: Invalid EFI memory map entries: -[ 0.000000] efi: mem45: [Reserved | | | | | | | | | | | | ] range=[0x0000000000000000-0x0000000000000000] (invalid) - -It also detects memory map sizes that would overflow the physical -address, for example phys_addr=0xfffffffffffff000 and -num_pages=0x0200000000000001, and prints: - -[ 0.000000] efi: [Firmware Bug]: Invalid EFI memory map entries: -[ 0.000000] efi: mem45: [Reserved | | | | | | | | | | | | ] range=[phys_addr=0xfffffffffffff000-0x20ffffffffffffffff] (invalid) - -It then removes these entries from the memory map. - -Cc: Matt Fleming <matt@codeblueprint.co.uk> -Signed-off-by: Peter Jones <pjones@redhat.com> -[ardb: refactor for clarity with no functional changes, avoid PAGE_SHIFT] -Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> ---- - arch/x86/platform/efi/efi.c | 70 +++++++++++++++++++++++++++++++++++++++++++++ - include/linux/efi.h | 1 + - 2 files changed, 71 insertions(+) - -diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c -index bf99aa7..0a1550b 100644 ---- a/arch/x86/platform/efi/efi.c -+++ b/arch/x86/platform/efi/efi.c -@@ -210,6 +210,74 @@ int __init efi_memblock_x86_reserve_range(void) - return 0; - } - -+#define OVERFLOW_ADDR_SHIFT (64 - EFI_PAGE_SHIFT) -+#define OVERFLOW_ADDR_MASK (U64_MAX << OVERFLOW_ADDR_SHIFT) -+#define U64_HIGH_BIT (~(U64_MAX >> 1)) -+ -+static bool __init efi_memmap_entry_valid(const efi_memory_desc_t *md, int i) -+{ -+ static __initdata bool once = true; -+ u64 end = (md->num_pages << EFI_PAGE_SHIFT) + md->phys_addr - 1; -+ u64 end_hi = 0; -+ char buf[64]; -+ -+ if (md->num_pages == 0) { -+ end = 0; -+ } else if (md->num_pages > EFI_PAGES_MAX || -+ EFI_PAGES_MAX - md->num_pages < -+ (md->phys_addr >> EFI_PAGE_SHIFT)) { -+ end_hi = (md->num_pages & OVERFLOW_ADDR_MASK) -+ >> OVERFLOW_ADDR_SHIFT; -+ -+ if ((md->phys_addr & U64_HIGH_BIT) && !(end & U64_HIGH_BIT)) -+ end_hi += 1; -+ } else { -+ return true; -+ } -+ -+ if (once) { -+ pr_warn(FW_BUG "Invalid EFI memory map entries:\n"); -+ once = false; -+ } -+ -+ if (end_hi) { -+ pr_warn("mem%02u: %s range=[0x%016llx-0x%llx%016llx] (invalid)\n", -+ i, efi_md_typeattr_format(buf, sizeof(buf), md), -+ md->phys_addr, end_hi, end); -+ } else { -+ pr_warn("mem%02u: %s range=[0x%016llx-0x%016llx] (invalid)\n", -+ i, efi_md_typeattr_format(buf, sizeof(buf), md), -+ md->phys_addr, end); -+ } -+ return false; -+} -+ -+static void __init efi_clean_memmap(void) -+{ -+ efi_memory_desc_t *out = efi.memmap.map; -+ const efi_memory_desc_t *in = out; -+ const efi_memory_desc_t *end = efi.memmap.map_end; -+ int i, n_removal; -+ -+ for (i = n_removal = 0; in < end; i++) { -+ if (efi_memmap_entry_valid(in, i)) { -+ if (out != in) -+ memcpy(out, in, efi.memmap.desc_size); -+ out = (void *)out + efi.memmap.desc_size; -+ } else { -+ n_removal++; -+ } -+ in = (void *)in + efi.memmap.desc_size; -+ } -+ -+ if (n_removal > 0) { -+ u64 size = efi.memmap.nr_map - n_removal; -+ -+ pr_warn("Removing %d invalid memory map entries.\n", n_removal); -+ efi_memmap_install(efi.memmap.phys_map, size); -+ } -+} -+ - void __init efi_print_memmap(void) - { - efi_memory_desc_t *md; -@@ -472,6 +540,8 @@ void __init efi_init(void) - } - } - -+ efi_clean_memmap(); -+ - if (efi_enabled(EFI_DBG)) - efi_print_memmap(); - } -diff --git a/include/linux/efi.h b/include/linux/efi.h -index 4c1b3ea..712a3aa 100644 ---- a/include/linux/efi.h -+++ b/include/linux/efi.h -@@ -103,6 +103,7 @@ typedef struct { - - #define EFI_PAGE_SHIFT 12 - #define EFI_PAGE_SIZE (1UL << EFI_PAGE_SHIFT) -+#define EFI_PAGES_MAX (U64_MAX >> EFI_PAGE_SHIFT) - - typedef struct { - u32 type; --- -2.9.3 - diff --git a/baseconfig/arm/armv7/CONFIG_POWER_AVS b/baseconfig/arm/CONFIG_POWER_AVS index f58c71a0d..f58c71a0d 100644 --- a/baseconfig/arm/armv7/CONFIG_POWER_AVS +++ b/baseconfig/arm/CONFIG_POWER_AVS diff --git a/bcm2837-initial-support.patch b/bcm2837-initial-support.patch index 1bd89f4c8..adccf4335 100644 --- a/bcm2837-initial-support.patch +++ b/bcm2837-initial-support.patch @@ -152,3 +152,66 @@ index 0000000..8216bbb -- 2.7.4 +From 345863374ebec9aa11ea97b99f5adbf97f99bbdf Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Mon, 16 Jan 2017 06:38:08 +0000 +Subject: [PATCH] add upstream RPi3 fixes from arm64 DT + +Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +--- + arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 8 +------- + arch/arm/boot/dts/bcm2837.dtsi | 8 +++++++- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +index 7841b72..c309633 100644 +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +@@ -2,6 +2,7 @@ + #include "bcm2837.dtsi" + #include "bcm2835-rpi.dtsi" + #include "bcm283x-rpi-smsc9514.dtsi" ++#include "bcm283x-rpi-usb-host.dtsi" + + / { + compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; +@@ -15,13 +16,6 @@ + act { + gpios = <&gpio 47 0>; + }; +- +- pwr { +- label = "PWR"; +- gpios = <&gpio 35 0>; +- default-state = "keep"; +- linux,default-trigger = "default-on"; +- }; + }; + }; + +diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi +index 8216bbb..19f2fe6 100644 +--- a/arch/arm/boot/dts/bcm2837.dtsi ++++ b/arch/arm/boot/dts/bcm2837.dtsi +@@ -1,7 +1,7 @@ + #include "bcm283x.dtsi" + + / { +- compatible = "brcm,bcm2836"; ++ compatible = "brcm,bcm2837"; + + soc { + ranges = <0x7e000000 0x3f000000 0x1000000>, +@@ -74,3 +74,9 @@ + interrupt-parent = <&local_intc>; + interrupts = <8>; + }; ++ ++/* enable thermal sensor with the correct compatible property set */ ++&thermal { ++ compatible = "brcm,bcm2837-thermal"; ++ status = "okay"; ++}; +-- +2.9.3 + diff --git a/efi-lockdown.patch b/efi-lockdown.patch index b848ee1a6..6bbc24fa1 100644 --- a/efi-lockdown.patch +++ b/efi-lockdown.patch @@ -1073,8 +1073,8 @@ index 5bb1985..6441d21 100644 return -EFAULT; @@ -515,6 +518,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf, - if (!pfn_valid(PFN_DOWN(p))) - return -EIO; + char *kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */ + int err = 0; + if (kernel_is_locked_down()) + return -EPERM; @@ -1 +1 @@ -557ed56cc75e0a33c15ba438734a280bac23bd32 +49def1853334396f948dcb4cedb9347abb318df5 diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config index aa63b78aa..0aac359af 100644 --- a/kernel-aarch64-debug.config +++ b/kernel-aarch64-debug.config @@ -3950,7 +3950,7 @@ CONFIG_PNFS_BLOCK=m CONFIG_PNFS_OBJLAYOUT=m # CONFIG_PNP_DEBUG_MESSAGES is not set CONFIG_POSIX_MQUEUE=y -# CONFIG_POWER_AVS is not set +CONFIG_POWER_AVS=y CONFIG_POWERCAP=y # CONFIG_POWER_RESET_BRCMKONA is not set CONFIG_POWER_RESET_GPIO_RESTART=y diff --git a/kernel-aarch64.config b/kernel-aarch64.config index 76ddc11a9..a4f2fa5c6 100644 --- a/kernel-aarch64.config +++ b/kernel-aarch64.config @@ -3929,7 +3929,7 @@ CONFIG_PNFS_BLOCK=m CONFIG_PNFS_OBJLAYOUT=m # CONFIG_PNP_DEBUG_MESSAGES is not set CONFIG_POSIX_MQUEUE=y -# CONFIG_POWER_AVS is not set +CONFIG_POWER_AVS=y CONFIG_POWERCAP=y # CONFIG_POWER_RESET_BRCMKONA is not set CONFIG_POWER_RESET_GPIO_RESTART=y diff --git a/kernel.spec b/kernel.spec index 6dc7c0c65..f6f195da8 100644 --- a/kernel.spec +++ b/kernel.spec @@ -75,9 +75,9 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%global rcrev 3 +%global rcrev 4 # The git snapshot level -%define gitrev 4 +%define gitrev 0 # Set rpm version accordingly %define rpmversion 4.%{upstream_sublevel}.0 %endif @@ -133,7 +133,7 @@ Summary: The Linux kernel # Set debugbuildsenabled to 1 for production (build separate debug kernels) # and 0 for rawhide (all kernels are debug kernels). # See also 'make debug' and 'make release'. -%define debugbuildsenabled 0 +%define debugbuildsenabled 1 # Want to build a vanilla kernel build without any non-upstream patches? %define with_vanilla %{?_without_vanilla: 0} %{?!_without_vanilla: 1} @@ -596,9 +596,6 @@ Patch665: netfilter-x_tables-deal-with-bogus-nextoffset-values.patch #ongoing complaint, full discussion delayed until ksummit/plumbers Patch849: 0001-iio-Use-event-header-from-kernel-tree.patch -# Work around thinkpad firmware memory layout issues and efi_mem_reserve() -Patch850: 0001-efi-prune-invalid-memory-map-entries.patch - # Fix build issue with armada_trace Patch851: Armada-trace-build-fix.patch @@ -2175,6 +2172,13 @@ fi # # %changelog +* Mon Jan 16 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.10.0-0.rc4.git0.1 +- Disable debugging options. +- Linux v4.10-rc4 + +* Mon Jan 16 2017 Peter Robinson <pbrobinson@fedoraproject.org> +- Minor ARM updates + * Fri Jan 13 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.10.0-0.rc3.git4.1 - Linux v4.10-rc3-187-g557ed56 @@ -1,4 +1,3 @@ SHA512 (linux-4.9.tar.xz) = bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a SHA512 (perf-man-4.9.tar.gz) = d23bb3da1eadd6623fddbf4696948de7675f3dcf57c711a7427dd7ae111394f58d8f42752938bbea7cd219f1e7f6f116fc67a1c74f769711063940a065f37b99 -SHA512 (patch-4.10-rc3.xz) = 3573b198b6ee488d6c573dd09c534548a08bcf8a017a94f74d127a58a018c9e97056006fccd555aa49513cc3f98ad5c1cb6545a7e261d3ccaea21456b53f2dd5 -SHA512 (patch-4.10-rc3-git4.xz) = bad15249a0e5675fdfa5d628ac4c556e1e4b58c89239a9ae0357277b34738185e2176b5a0510a4e4eff417b2bf9d03f31f98711440961768e275bad04d638f93 +SHA512 (patch-4.10-rc4.xz) = 89d903d52ff907f3911ac09214d1299c310fd67b7ff36170c6233e6348049fb0f669ba245a8ca310f52c91eb523aa5f91a9b52f4c67ca932b951fe2c60f25ae5 |