From: Stefan Bader <stefan.bader@canonical.com>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Subject: [PATCH] mm: Fix hiding the stack guard page in proc
Date: Tue, 31 Aug 2010 14:59:24 +0200 [thread overview]
Message-ID: <4C7CFCAC.1080003@canonical.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 737 bytes --]
Looking at the other changes I believe that the logic for proc also needs to
look at the previous vma to decide whether to hide the first page of it or not.
The following patch against current head should fix that (only compile tested here .
I only made the change to task_mmu.c here. But basically its the same check as
in mlock.c. Maybe its would be worth moving the inlines to mm.h.
-Stefan
Current output before:
...
b778e000-b7790000 rw-p 00000000 00:00 0
bfdc8000-bfddd000 rw-p 00000000 00:00 0 [stack]
After mlocking parts of the stack:
...
b778d000-b7790000 rw-p 00000000 00:00 0
bfdc8000-bfdda000 rw-p 00000000 00:00 0
bfddb000-bfddb000 rw-p 00000000 00:00 0 [stack]
bfddc000-bfddd000 rw-p 00000000 00:00 0
[-- Attachment #2: 0001-mm-Fix-hiding-the-stack-guard-page-in-proc.patch --]
[-- Type: text/x-diff, Size: 1411 bytes --]
>From baa30fb2027096d6604c9f0ba2bad04a30edc482 Mon Sep 17 00:00:00 2001
From: Stefan Bader <stefan.bader@canonical.com>
Date: Tue, 31 Aug 2010 13:59:58 +0200
Subject: [PATCH] mm: Fix hiding the stack guard page in proc
Commit d7824370e26325c881b665350ce64fb0a4fde24a tried to hide the stack
guard page from user-space by adapting mlock and hiding it in /proc.
Commit 7798330ac8114c731cfab83e634c6ecedaa233d7 fixed the mlock part,
using the newly added double linked vma lists.
Still the proc change would hide the first page of each stack vma which
would be wrong for those vmas that are just continuations of the stack
after its vma has been split.
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Cc: stable@kernel.org
---
fs/proc/task_mmu.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 439fc1f..2e302b4 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -224,7 +224,9 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
/* We don't show the stack guard page in /proc/maps */
start = vma->vm_start;
if (vma->vm_flags & VM_GROWSDOWN)
- start += PAGE_SIZE;
+ if (!vma->vm_prev || vma->vm_prev->vm_flags != VM_GROWSDOWN ||
+ vma->vm_start != vma->vm_prev->vm_end)
+ start += PAGE_SIZE;
seq_printf(m, "%08lx-%08lx %c%c%c%c %08llx %02x:%02x %lu %n",
start,
--
1.7.0.4
next reply other threads:[~2010-08-31 12:59 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-31 12:59 Stefan Bader [this message]
2010-08-31 13:33 ` [PATCH] mm: Fix hiding the stack guard page in proc Linus Torvalds
2010-08-31 13:55 ` Stefan Bader
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C7CFCAC.1080003@canonical.com \
--to=stefan.bader@canonical.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox