diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-13 02:54:33 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-13 02:54:33 +0200 |
commit | 320b2b8de12698082609ebbc1a17165727f4c893 (patch) | |
tree | bb62fe1ba3bb8bf68ff1fd44e613ece9c9581c36 /drivers/ide/cmd640.c | |
parent | Revert "fsnotify: store struct file not struct path" (diff) | |
download | linux-320b2b8de12698082609ebbc1a17165727f4c893.tar.xz linux-320b2b8de12698082609ebbc1a17165727f4c893.zip |
mm: keep a guard page below a grow-down stack segment
This is a rather minimally invasive patch to solve the problem of the
user stack growing into a memory mapped area below it. Whenever we fill
the first page of the stack segment, expand the segment down by one
page.
Now, admittedly some odd application might _want_ the stack to grow down
into the preceding memory mapping, and so we may at some point need to
make this a process tunable (some people might also want to have more
than a single page of guarding), but let's try the minimal approach
first.
Tested with trivial application that maps a single page just below the
stack, and then starts recursing. Without this, we will get a SIGSEGV
_after_ the stack has smashed the mapping. With this patch, we'll get a
nice SIGBUS just as the stack touches the page just above the mapping.
Requested-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/ide/cmd640.c')
0 files changed, 0 insertions, 0 deletions