diff options
| author | Linus Torvalds <torvalds@home.transmeta.com> | 2003-01-09 07:21:03 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@penguin.transmeta.com> | 2003-01-09 07:21:03 -0800 |
| commit | 03a85f8e25d52e15112eb5e146e2766337217ed5 (patch) | |
| tree | 1db25f2609646decf638d470b0b9e91dfb1ea5ff /include/linux | |
| parent | 60e7fd5ede56305f4f05d24c4ae2b5491767efe6 (diff) | |
Fix exec_mmap() to release the MM while we still have it active,
to properly de-activate it and make the child_tid logic work
correctly.
Clear %fs/%gs in deactivate_mm() on x86, since our LDT will no
longer be valid after this.
Update mm_release() to deactivate MM state before releasing,
and avoid the expensive child_tid FUTEX if we're the last user
of the MM.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/sched.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 9545a1957089..9916d377a74b 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -566,7 +566,7 @@ static inline void mmdrop(struct mm_struct * mm) /* mmput gets rid of the mappings and all user-space */ extern void mmput(struct mm_struct *); /* Remove the current tasks stale references to the old mm_struct */ -extern void mm_release(void); +extern void mm_release(struct task_struct *, struct mm_struct *); extern int copy_thread(int, unsigned long, unsigned long, unsigned long, struct task_struct *, struct pt_regs *); extern void flush_thread(void); |
