summaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/0002-Allow-stack-to-grow-up-to-address-space-limit.patch
blob: 10e247197051643739ec3c43f91c64e231d8eeda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

@media only all and (prefers-color-scheme: dark) {
.highlight .hll { background-color: #49483e }
.highlight .c { color: #75715e } /* Comment */
.highlight .err { color: #960050; background-color: #1e0010 } /* Error */
.highlight .k { color: #66d9ef } /* Keyword */
.highlight .l { color: #ae81ff } /* Literal */
.highlight .n { color: #f8f8f2 } /* Name */
.highlight .o { color: #f92672 } /* Operator */
.highlight .p { color: #f8f8f2 } /* Punctuation */
.highlight .ch { color: #75715e } /* Comment.Hashbang */
.highlight .cm { color: #75715e } /
From 9e8b9c4bd3b16bd70d8be10c465bd0a91ac569fa Mon Sep 17 00:00:00 2001
From: Helge Deller <deller@gmx.de>
Date: Mon, 19 Jun 2017 17:34:05 +0200
Subject: [PATCH 2/3] Allow stack to grow up to address space limit

commit bd726c90b6b8ce87602208701b208a208e6d5600 upstream.

Fix expand_upwards() on architectures with an upward-growing stack (parisc,
metag and partly IA-64) to allow the stack to reliably grow exactly up to
the address space limit given by TASK_SIZE.

Signed-off-by: Helge Deller <deller@gmx.de>
Acked-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 mm/mmap.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/mm/mmap.c b/mm/mmap.c
index 26542b3..d71a61e 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -2224,16 +2224,19 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address)
 	if (!(vma->vm_flags & VM_GROWSUP))
 		return -EFAULT;
 
-	/* Guard against wrapping around to address 0. */
+	/* Guard against exceeding limits of the address space. */
 	address &= PAGE_MASK;
-	address += PAGE_SIZE;
-	if (!address)
+	if (address >= TASK_SIZE)
 		return -ENOMEM;
+	address += PAGE_SIZE;
 
 	/* Enforce stack_guard_gap */
 	gap_addr = address + stack_guard_gap;
-	if (gap_addr < address)
-		return -ENOMEM;
+
+	/* Guard against overflow */
+	if (gap_addr < address || gap_addr > TASK_SIZE)
+		gap_addr = TASK_SIZE;
+
 	next = vma->vm_next;
 	if (next && next->vm_start < gap_addr) {
 		if (!(next->vm_flags & VM_GROWSUP))
-- 
2.1.4
ings. --> <project name="poky" path="external/poky" remote="yocto" revision="424296bf9bb4bae27febf91bce0118df09ce5fa1" upstream="dunfell" /> <project name="meta-gplv2" path="external/meta-gplv2" remote="yocto" revision="60b251c25ba87e946a0ca4cdc8d17b1cb09292ac" upstream="dunfell" /> <project name="openembedded/meta-openembedded" path="external/meta-openembedded" remote="github" revision="f2d02cb71eaff8eb285a1997b30be52486c160ae" upstream="dunfell" /> <!-- UPSTREAM COMPONENTS --> <!-- meta-virtualization --> <project name="meta-virtualization" path="external/meta-virtualization" remote="yocto" revision="ff997b6b3ba800978546098ab3cdaa113b6695e1" upstream="dunfell"/> <!-- Qt things --> <project name="meta-qt5/meta-qt5" path="external/meta-qt5" remote="github" revision="0d8eb956015acdea7e77cd6672d08dce18061510" upstream="dunfell"/> <!-- Updater layers. --> <project name="advancedtelematic/meta-updater" path="external/meta-updater" remote="github" revision="cc1b38310f4ebd0558438057a1edfeb4a3555b16" upstream="dunfell"/> <project name="advancedtelematic/meta-updater-qemux86-64" path="external/meta-updater-qemux86-64" remote="github" revision="71e2e2426b09e5aed6eabed72c8d289c0343c2de" upstream="dunfell"/> <project name="advancedtelematic/meta-updater-raspberrypi" path="external/meta-updater-raspberrypi" remote="github" revision="3e4795b85861e63c54f6f7c573f8bd13b3024072" upstream="dunfell"/> <!-- Security layer --> <project name="meta-security" path="external/meta-security" remote="yocto" revision="c74cc97641fd93e0e7a4383255e9a0ab3deaf9d7" upstream="dunfell"/> <!-- meta-codescanner - support for using CodeScanner during the build --> <project name="dl9pf/meta-codechecker" path="external/meta-codechecker" remote="github" revision="f27a46feb2291d333744850a82d5c8af303e3bd5" upstream="master"/> <!-- meta-spdxscanner - support for fossology --> <project name="meta-spdxscanner" path="external/meta-spdxscanner" remote="yocto" revision="23bba6f8dfafc806c187fc58b31fe2466d95772d" upstream="master"/> <!-- Alexa Auto SDK layer --> <project name="alexa/alexa-auto-sdk" path="external/alexa-auto-sdk" remote="github" revision="86916d2d8c1702a8be3c88a9012ca56583bcc0c8" upstream="2.0"/> <!-- IoT SDK layer --> <project name="intel-iot-devkit/meta-iot-cloud" path="external/meta-iot-cloud" remote="github" revision="9e62214c8ff2180e076d953753b979d5d41e4cd6" upstream="dunfell"/> <!-- clang support --> <project name="kraj/meta-clang" path="external/meta-clang" remote="github" revision="e63d6f9abba5348e2183089d6ef5ea384d7ae8d8" upstream="dunfell"/> <!-- meta-python2 as stop-gap to allow chromium to build until upstream fixes the dependencies --> <project name="meta-python2" path="external/meta-python2" remote="openembedded" revision="e2ef0dd8fa13d6b96e44773b09d07e4817d0a44d" upstream="dunfell" /> <!-- BSPs --> <!-- Renesas Gen3 specific things --> <project name="renesas-rcar/meta-renesas" path="bsp/meta-renesas" remote="github" revision="ebacfd2c83c37700c30850a4b82742954e630641" upstream="dunfell-dev"/> <project name="CogentEmbedded/meta-rcar" path="bsp/meta-rcar" remote="github" revision="b53f083229e3e6332cd623e9a090a53f51e2e068" upstream="dunfell-Yocto-v4.1.0"/> <project name="AGL/meta-agl-refhw" path="bsp/meta-agl-refhw" /> <!-- consolidate on meta-freescale from git.yoctoproject.org --> <project name="meta-freescale" path="bsp/meta-freescale" remote="yocto" revision="46f54fdc5ad854a22bf759aac7fd65db1d1bb574" upstream="dunfell"/> <project name="Freescale/meta-freescale-3rdparty" path="bsp/meta-freescale-3rdparty" remote="github" revision="05b1746a4adc240b690fe965ac5b8a043d9b9d03" upstream="dunfell"/> <!-- TI Vayu / Jacinto 6 / DRA7 --> <project name="meta-arm" path="bsp/meta-arm" remote="yocto" revision="0bd9c740267c0926e89bcfdb489790b7bf1fbd4b" upstream="dunfell"/> <project name="meta-ti" path="bsp/meta-ti" remote="yocto" revision="f2b2b2095f1a9d3ef705f7518d9db1e3141da2fb" upstream="dunfell"/> <!-- Raspberry Pi 3, 3B+, and 4 --> <project name="meta-raspberrypi" path="bsp/meta-raspberrypi" remote="yocto" revision="89ca43fe6411a40d1ba8f5379e49affd78cdd644" upstream="dunfell"/> <!-- DragonBoard 410c specific things --> <project name="meta-qcom" path="bsp/meta-qcom" remote="yocto" revision="2778e164cd0427277e37fc03c8ed19179da1613b" upstream="dunfell"/> <!-- Altera SOCFPGA platform --> <!-- https://github.com/kraj/meta-altera --> <project name="kraj/meta-altera" path="bsp/meta-altera" remote="github" revision="1db773d79403c4439103f3fba51b6c42d5f7b266" upstream="master"/> <!-- Sancloud BSP layers --> <project name="SanCloudLtd/meta-sancloud" path="bsp/meta-sancloud" remote="github" revision="58ad2300f74acc92afa21eaeaef7fd47fcc2a61c" upstream="dunfell"/> <project name="EmbeddedAndroid/meta-rtlwifi" path="bsp/meta-rtlwifi" remote="github" revision="91dd94630dad98389bfe4e15207e771754bde75c" upstream="master"/> <!-- meta-synopsys - support for ARC HSDK board --> <project name="foss-for-synopsys-dwc-arc-processors/meta-synopsys" path="bsp/meta-synopsys" remote="github" revision="80656bf6551b2056c8cb02a74510e595e2553048" upstream="dunfell-agl"/> </manifest>