Hi Andrew, > From: Oleg Nesterov <oleg@xxxxxxxxxx> > Subject: kill task_struct->thread_group > Date: Sat, 26 Aug 2023 13:14:09 +0200 > > The last user was removed by the previous patch. No, no ;) this series depends on 2 previous patches, see https://lore.kernel.org/all/20230824143112.GA31208@xxxxxxxxxx/ sorry for confusion, Oleg. > Link: https://lkml.kernel.org/r/20230826111409.GA23243@xxxxxxxxxx > Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> > Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > --- > > include/linux/sched.h | 1 - > init/init_task.c | 1 - > kernel/exit.c | 1 - > kernel/fork.c | 3 --- > 4 files changed, 6 deletions(-) > > --- a/include/linux/sched.h~kill-task_struct-thread_group > +++ a/include/linux/sched.h > @@ -997,7 +997,6 @@ struct task_struct { > /* PID/PID hash table linkage. */ > struct pid *thread_pid; > struct hlist_node pid_links[PIDTYPE_MAX]; > - struct list_head thread_group; > struct list_head thread_node; > > struct completion *vfork_done; > --- a/init/init_task.c~kill-task_struct-thread_group > +++ a/init/init_task.c > @@ -132,7 +132,6 @@ struct task_struct init_task > .pi_lock = __RAW_SPIN_LOCK_UNLOCKED(init_task.pi_lock), > .timer_slack_ns = 50000, /* 50 usec default slack */ > .thread_pid = &init_struct_pid, > - .thread_group = LIST_HEAD_INIT(init_task.thread_group), > .thread_node = LIST_HEAD_INIT(init_signals.thread_head), > #ifdef CONFIG_AUDIT > .loginuid = INVALID_UID, > --- a/kernel/exit.c~kill-task_struct-thread_group > +++ a/kernel/exit.c > @@ -133,7 +133,6 @@ static void __unhash_process(struct task > list_del_init(&p->sibling); > __this_cpu_dec(process_counts); > } > - list_del_rcu(&p->thread_group); > list_del_rcu(&p->thread_node); > } > > --- a/kernel/fork.c~kill-task_struct-thread_group > +++ a/kernel/fork.c > @@ -2575,7 +2575,6 @@ __latent_entropy struct task_struct *cop > p->dirty_paused_when = 0; > > p->pdeath_signal = 0; > - INIT_LIST_HEAD(&p->thread_group); > p->task_works = NULL; > clear_posix_cputimers_work(p); > > @@ -2703,8 +2702,6 @@ __latent_entropy struct task_struct *cop > atomic_inc(¤t->signal->live); > refcount_inc(¤t->signal->sigcnt); > task_join_group_stop(p); > - list_add_tail_rcu(&p->thread_group, > - &p->group_leader->thread_group); > list_add_tail_rcu(&p->thread_node, > &p->signal->thread_head); > } > _ > > Patches currently in -mm which might be from oleg@xxxxxxxxxx are > > change-thread_group_empty-to-use-task_struct-thread_node.patch > kill-task_struct-thread_group.patch >