diff options
| -rw-r--r-- | arch/i386/kernel/process.c | 10 | ||||
| -rw-r--r-- | include/linux/sched.h | 6 | ||||
| -rw-r--r-- | kernel/fork.c | 4 |
3 files changed, 10 insertions, 10 deletions
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c index 89fb5395b7c1..ce8e788e240c 100644 --- a/arch/i386/kernel/process.c +++ b/arch/i386/kernel/process.c @@ -566,7 +566,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long esp, struct_cpy(childregs, regs); childregs->eax = 0; childregs->esp = esp; - p->user_vm_lock = NULL; + p->user_tid = NULL; p->thread.esp = (unsigned long) childregs; p->thread.esp0 = (unsigned long) (childregs+1); @@ -591,7 +591,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long esp, /* * The common fastpath: */ - if (!(clone_flags & (CLONE_SETTLS | CLONE_SETTID | CLONE_RELEASE_VM))) + if (!(clone_flags & (CLONE_SETTLS | CLONE_SETTID | CLONE_CLEARTID))) return 0; /* * Set a new TLS for the child thread? @@ -623,10 +623,10 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long esp, return -EFAULT; /* - * Does the userspace VM want any unlock on mm_release()? + * Does the userspace VM want the TID cleared on mm_release()? */ - if (clone_flags & CLONE_RELEASE_VM) - p->user_vm_lock = (long *) childregs->edi; + if (clone_flags & CLONE_CLEARTID) + p->user_tid = (long *) childregs->edx; return 0; } diff --git a/include/linux/sched.h b/include/linux/sched.h index 767d1b7bd0ec..5713927c300a 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -47,8 +47,8 @@ struct exec_domain; #define CLONE_SYSVSEM 0x00040000 /* share system V SEM_UNDO semantics */ #define CLONE_SETTLS 0x00080000 /* create a new TLS for the child */ #define CLONE_SETTID 0x00100000 /* write the TID back to userspace */ -#define CLONE_DETACHED 0x00200000 /* parent wants no child-exit signal */ -#define CLONE_RELEASE_VM 0x00400000 /* release the userspace VM */ +#define CLONE_CLEARTID 0x00200000 /* clear the userspace TID */ +#define CLONE_DETACHED 0x00400000 /* parent wants no child-exit signal */ #define CLONE_SIGNAL (CLONE_SIGHAND | CLONE_THREAD) @@ -307,7 +307,7 @@ struct task_struct { wait_queue_head_t wait_chldexit; /* for wait4() */ struct completion *vfork_done; /* for vfork() */ - long *user_vm_lock; /* for CLONE_RELEASE_VM */ + long *user_tid; /* for CLONE_CLEARTID */ unsigned long rt_priority; unsigned long it_real_value, it_prof_value, it_virt_value; diff --git a/kernel/fork.c b/kernel/fork.c index 65d6d40073d9..d577f3077e73 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -370,12 +370,12 @@ void mm_release(void) tsk->vfork_done = NULL; complete(vfork_done); } - if (tsk->user_vm_lock) + if (tsk->user_tid) /* * We dont check the error code - if userspace has * not set up a proper pointer then tough luck. */ - put_user(0UL, tsk->user_vm_lock); + put_user(0UL, tsk->user_tid); } static int copy_mm(unsigned long clone_flags, struct task_struct * tsk) |
