aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm
diff options
context:
space:
mode:
authorStephen Wilson <wilsons@start.ca>2011-03-13 15:49:15 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2011-03-23 16:36:54 -0400
commit31db58b3ab432f72ea76be58b12e6ffaf627d5db (patch)
treec88b742e1f2c52045d5abc6d35d7492ebdf64541 /arch/x86/mm
parent375906f8765e131a4a159b1ffebf78c15db7b3bf (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 'arch/x86/mm')
-rw-r--r--arch/x86/mm/init_64.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index 0aa34669ed3..dd4809b5844 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -861,10 +861,10 @@ static struct vm_area_struct gate_vma = {
861 .vm_flags = VM_READ | VM_EXEC 861 .vm_flags = VM_READ | VM_EXEC
862}; 862};
863 863
864struct vm_area_struct *get_gate_vma(struct task_struct *tsk) 864struct vm_area_struct *get_gate_vma(struct mm_struct *mm)
865{ 865{
866#ifdef CONFIG_IA32_EMULATION 866#ifdef CONFIG_IA32_EMULATION
867 if (test_tsk_thread_flag(tsk, TIF_IA32)) 867 if (!mm || mm->context.ia32_compat)
868 return NULL; 868 return NULL;
869#endif 869#endif
870 return &gate_vma; 870 return &gate_vma;
@@ -872,7 +872,7 @@ struct vm_area_struct *get_gate_vma(struct task_struct *tsk)
872 872
873int in_gate_area(struct task_struct *task, unsigned long addr) 873int in_gate_area(struct task_struct *task, unsigned long addr)
874{ 874{
875 struct vm_area_struct *vma = get_gate_vma(task); 875 struct vm_area_struct *vma = get_gate_vma(task->mm);
876 876
877 if (!vma) 877 if (!vma)
878 return 0; 878 return 0;