diff options
author | Stephen Wilson <wilsons@start.ca> | 2011-03-13 15:49:15 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-03-23 16:36:54 -0400 |
commit | 31db58b3ab432f72ea76be58b12e6ffaf627d5db (patch) | |
tree | c88b742e1f2c52045d5abc6d35d7492ebdf64541 /mm/memory.c | |
parent | 375906f8765e131a4a159b1ffebf78c15db7b3bf (diff) |
mm: arch: make get_gate_vma take an mm_struct instead of a task_struct
Morally, the presence of a gate vma is more an attribute of a particular mm than
a particular task. Moreover, dropping the dependency on task_struct will help
make both existing and future operations on mm's more flexible and convenient.
Signed-off-by: Stephen Wilson <wilsons@start.ca>
Reviewed-by: Michel Lespinasse <walken@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'mm/memory.c')
-rw-r--r-- | mm/memory.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/memory.c b/mm/memory.c index e48945ab362..b6dc3709743 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
@@ -1488,7 +1488,7 @@ int __get_user_pages(struct task_struct *tsk, struct mm_struct *mm, | |||
1488 | vma = find_extend_vma(mm, start); | 1488 | vma = find_extend_vma(mm, start); |
1489 | if (!vma && in_gate_area(tsk, start)) { | 1489 | if (!vma && in_gate_area(tsk, start)) { |
1490 | unsigned long pg = start & PAGE_MASK; | 1490 | unsigned long pg = start & PAGE_MASK; |
1491 | struct vm_area_struct *gate_vma = get_gate_vma(tsk); | 1491 | struct vm_area_struct *gate_vma = get_gate_vma(tsk->mm); |
1492 | pgd_t *pgd; | 1492 | pgd_t *pgd; |
1493 | pud_t *pud; | 1493 | pud_t *pud; |
1494 | pmd_t *pmd; | 1494 | pmd_t *pmd; |
@@ -3496,7 +3496,7 @@ static int __init gate_vma_init(void) | |||
3496 | __initcall(gate_vma_init); | 3496 | __initcall(gate_vma_init); |
3497 | #endif | 3497 | #endif |
3498 | 3498 | ||
3499 | struct vm_area_struct *get_gate_vma(struct task_struct *tsk) | 3499 | struct vm_area_struct *get_gate_vma(struct mm_struct *mm) |
3500 | { | 3500 | { |
3501 | #ifdef AT_SYSINFO_EHDR | 3501 | #ifdef AT_SYSINFO_EHDR |
3502 | return &gate_vma; | 3502 | return &gate_vma; |