| .. | .. |
|---|
| 42 | 42 | #include <linux/mmu_notifier.h> |
|---|
| 43 | 43 | #include <linux/fs.h> |
|---|
| 44 | 44 | #include <linux/mm.h> |
|---|
| 45 | | -#include <linux/kprobes.h> |
|---|
| 46 | 45 | #include <linux/vmacache.h> |
|---|
| 47 | 46 | #include <linux/nsproxy.h> |
|---|
| 48 | 47 | #include <linux/capability.h> |
|---|
| .. | .. |
|---|
| 295 | 294 | return; |
|---|
| 296 | 295 | } |
|---|
| 297 | 296 | |
|---|
| 298 | | - vfree(tsk->stack); |
|---|
| 297 | + vfree_atomic(tsk->stack); |
|---|
| 299 | 298 | return; |
|---|
| 300 | 299 | } |
|---|
| 301 | 300 | #endif |
|---|
| .. | .. |
|---|
| 724 | 723 | } |
|---|
| 725 | 724 | EXPORT_SYMBOL_GPL(__mmdrop); |
|---|
| 726 | 725 | |
|---|
| 727 | | -#ifdef CONFIG_PREEMPT_RT |
|---|
| 728 | | -/* |
|---|
| 729 | | - * RCU callback for delayed mm drop. Not strictly rcu, but we don't |
|---|
| 730 | | - * want another facility to make this work. |
|---|
| 731 | | - */ |
|---|
| 732 | | -void __mmdrop_delayed(struct rcu_head *rhp) |
|---|
| 733 | | -{ |
|---|
| 734 | | - struct mm_struct *mm = container_of(rhp, struct mm_struct, delayed_drop); |
|---|
| 735 | | - |
|---|
| 736 | | - __mmdrop(mm); |
|---|
| 737 | | -} |
|---|
| 738 | | -#endif |
|---|
| 739 | | - |
|---|
| 740 | 726 | static void mmdrop_async_fn(struct work_struct *work) |
|---|
| 741 | 727 | { |
|---|
| 742 | 728 | struct mm_struct *mm; |
|---|
| .. | .. |
|---|
| 777 | 763 | WARN_ON(!tsk->exit_state); |
|---|
| 778 | 764 | WARN_ON(refcount_read(&tsk->usage)); |
|---|
| 779 | 765 | WARN_ON(tsk == current); |
|---|
| 780 | | - |
|---|
| 781 | | - /* |
|---|
| 782 | | - * Remove function-return probe instances associated with this |
|---|
| 783 | | - * task and put them back on the free list. |
|---|
| 784 | | - */ |
|---|
| 785 | | - kprobe_flush_task(tsk); |
|---|
| 786 | | - |
|---|
| 787 | | - /* Task is done with its stack. */ |
|---|
| 788 | | - put_task_stack(tsk); |
|---|
| 789 | 766 | |
|---|
| 790 | 767 | io_uring_free(tsk); |
|---|
| 791 | 768 | cgroup_free(tsk); |
|---|
| .. | .. |
|---|
| 984 | 961 | tsk->splice_pipe = NULL; |
|---|
| 985 | 962 | tsk->task_frag.page = NULL; |
|---|
| 986 | 963 | tsk->wake_q.next = NULL; |
|---|
| 987 | | - tsk->wake_q_sleeper.next = NULL; |
|---|
| 988 | 964 | tsk->pf_io_worker = NULL; |
|---|
| 989 | 965 | |
|---|
| 990 | 966 | account_kernel_stack(tsk, 1); |
|---|
| 991 | 967 | |
|---|
| 992 | 968 | kcov_task_init(tsk); |
|---|
| 993 | | - kmap_local_fork(tsk); |
|---|
| 994 | 969 | |
|---|
| 995 | 970 | #ifdef CONFIG_FAULT_INJECTION |
|---|
| 996 | 971 | tsk->fail_nth = 0; |
|---|
| .. | .. |
|---|
| 2084 | 2059 | spin_lock_init(&p->alloc_lock); |
|---|
| 2085 | 2060 | |
|---|
| 2086 | 2061 | init_sigpending(&p->pending); |
|---|
| 2087 | | - p->sigqueue_cache = NULL; |
|---|
| 2088 | 2062 | |
|---|
| 2089 | 2063 | p->utime = p->stime = p->gtime = 0; |
|---|
| 2090 | 2064 | #ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME |
|---|