From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
To: Stephen Wilson <wilsons@start.ca>
Cc: kosaki.motohiro@jp.fujitsu.com, linux-mm@kvack.org,
Andrew Morton <akpm@linux-foundation.org>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Rik van Riel <riel@redhat.com>,
Roland McGrath <roland@redhat.com>,
Matt Mackall <mpm@selenic.com>,
David Rientjes <rientjes@google.com>,
Nick Piggin <npiggin@kernel.dk>,
Andrea Arcangeli <aarcange@redhat.com>,
Mel Gorman <mel@csn.ul.ie>, Ingo Molnar <mingo@elte.hu>,
Michel Lespinasse <walken@google.com>,
Hugh Dickins <hughd@google.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/6] mm: use mm_struct to resolve gate vma's in __get_user_pages
Date: Wed, 9 Mar 2011 14:19:30 +0900 (JST) [thread overview]
Message-ID: <20110309141208.03F7.A69D9226@jp.fujitsu.com> (raw)
In-Reply-To: <1299631343-4499-2-git-send-email-wilsons@start.ca>
> We now check if a requested user page overlaps a gate vma using the supplied mm
> instead of the supplied task. The given task is now used solely for accounting
> purposes and may be NULL.
>
> Signed-off-by: Stephen Wilson <wilsons@start.ca>
> ---
> mm/memory.c | 18 +++++++++++-------
> 1 files changed, 11 insertions(+), 7 deletions(-)
>
> diff --git a/mm/memory.c b/mm/memory.c
> index 3863e86..36445e3 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -1437,9 +1437,9 @@ int __get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
> struct vm_area_struct *vma;
>
> vma = find_extend_vma(mm, start);
> - if (!vma && in_gate_area(tsk->mm, start)) {
> + if (!vma && in_gate_area(mm, start)) {
> unsigned long pg = start & PAGE_MASK;
> - struct vm_area_struct *gate_vma = get_gate_vma(tsk->mm);
> + struct vm_area_struct *gate_vma = get_gate_vma(mm);
> pgd_t *pgd;
> pud_t *pud;
> pmd_t *pmd;
Hmm..
Is this works? In exec() case task has two mm, old and new-borned. tsk has
no enough information to detect gate area if 64bit process exec 32bit process
or oppsite case. On Linux, 32bit and 64bit processes have perfectly different
process vma layout.
Am I missing something?
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-03-09 5:19 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-09 0:42 [PATCH 0/6] enable writing to /proc/pid/mem Stephen Wilson
2011-03-09 0:42 ` [PATCH 1/6] mm: use mm_struct to resolve gate vma's in __get_user_pages Stephen Wilson
2011-03-09 5:19 ` KOSAKI Motohiro [this message]
2011-03-09 6:06 ` Al Viro
2011-03-09 12:38 ` Stephen Wilson
2011-03-09 0:42 ` [PATCH 2/6] mm: factor out main logic of access_process_vm Stephen Wilson
2011-03-09 0:42 ` [PATCH 3/6] mm: implement access_remote_vm Stephen Wilson
2011-03-09 0:42 ` [PATCH 4/6] proc: disable mem_write after exec Stephen Wilson
2011-03-09 5:22 ` KOSAKI Motohiro
2011-03-09 0:42 ` [PATCH 5/6] proc: make check_mem_permission() return an mm_struct on success Stephen Wilson
2011-03-09 6:20 ` KOSAKI Motohiro
2011-03-09 0:42 ` [PATCH 6/6] proc: enable writing to /proc/pid/mem Stephen Wilson
2011-03-09 1:30 ` [PATCH 0/6] " Al Viro
2011-03-09 2:15 ` Stephen Wilson
2011-03-09 2:33 ` Al Viro
2011-03-09 2:47 ` Stephen Wilson
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=20110309141208.03F7.A69D9226@jp.fujitsu.com \
--to=kosaki.motohiro@jp.fujitsu.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=hughd@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=mingo@elte.hu \
--cc=mpm@selenic.com \
--cc=npiggin@kernel.dk \
--cc=riel@redhat.com \
--cc=rientjes@google.com \
--cc=roland@redhat.com \
--cc=viro@zeniv.linux.org.uk \
--cc=walken@google.com \
--cc=wilsons@start.ca \
/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