[arm64] dts: meson-gx: Add firmware reserved memory zones

An important bug fix for this newly enabled hardware, requested in #852132.
This commit is contained in:
Ben Hutchings 2017-01-24 04:18:37 +00:00
parent f1d6a10e4d
commit cf9d2d33be
3 changed files with 64 additions and 0 deletions

1
debian/changelog vendored
View File

@ -353,6 +353,7 @@ linux (4.9.5-1) UNRELEASED; urgency=medium
* [x86] linux-cpupower: Add turbostat and x86_energy_perf_policy commands
(Closes: #778249)
* [arm64] Enable ARCH_MESON and related drivers (Closes: #852132)
* [arm64] dts: meson-gx: Add firmware reserved memory zones
[ Salvatore Bonaccorso ]
* tmpfs: clear S_ISGID when setting posix ACLs (CVE-2017-5551)

View File

@ -0,0 +1,62 @@
From: Neil Armstrong <narmstrong@baylibre.com>
Date: Wed, 18 Jan 2017 17:50:45 +0100
Subject: ARM64: dts: meson-gx: Add firmware reserved memory zones
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Origin: https://git.kernel.org/cgit/linux/kernel/git/khilman/linux-amlogic.git/commit?id=ecb88f3001ed9ee8c53450d971de8c18bcbf7925
Bug-Debian: https://bugs.debian.org/852132
The Amlogic Meson GXBB/GXL/GXM secure monitor uses part of the memory space,
this patch adds these reserved zones.
Without such reserved memory zones, running the following stress command :
$ stress-ng --vm 16 --vm-bytes 128M --timeout 10s
multiple times:
Could lead to the following kernel crashes :
[ 46.937975] Bad mode in Error handler detected on CPU1, code 0xbf000000 -- SError
...
[ 47.058536] Internal error: Attempting to execute userspace memory: 8600000f [#3] PREEMPT SMP
...
Instead of the OOM killer.
Fixes: 4f24eda8401f ("ARM64: dts: Prepare configs for Amlogic Meson GXBaby")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
[khilman: added Fixes tag, added _reserved and unit addresses]
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
[bwh: Backported to 4.9: adjust filename]
---
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index eada0b58ba1c..0cbe24b49710 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -55,6 +55,24 @@
#address-cells = <2>;
#size-cells = <2>;
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /* 16 MiB reserved for Hardware ROM Firmware */
+ hwrom_reserved: hwrom@0 {
+ reg = <0x0 0x0 0x0 0x1000000>;
+ no-map;
+ };
+
+ /* 2 MiB reserved for ARM Trusted Firmware (BL31) */
+ secmon_reserved: secmon@10000000 {
+ reg = <0x0 0x10000000 0x0 0x200000>;
+ no-map;
+ };
+ };
+
cpus {
#address-cells = <0x2>;
#size-cells = <0x0>;

View File

@ -56,6 +56,7 @@ features/x86/x86-make-x32-syscall-support-conditional.patch
features/arm/arm-dts-add-support-for-turris-omnia.patch
features/arm/arm-dts-turris-omnia-add-support-for-ethernet-switch.patch
features/arm/ARM-dts-orion5x-convert-ls-chl-to-FDT.patch
features/arm64/dts-meson-gx-add-firmware-reserved-memory-zone.patch
# Miscellaneous bug fixes
bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch