Message ID | 20250205193221.402150-2-mjguzik@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | reduce tasklist_lock hold time on exit and do some pid cleanup | expand |
On 02/05, Mateusz Guzik wrote: > > diff --git a/scripts/selinux/genheaders/genheaders b/scripts/selinux/genheaders/genheaders > deleted file mode 100755 > index 3fc32a664a7930b12a38d02449aec78d49690dfe..0000000000000000000000000000000000000000 > GIT binary patch > literal 0 > HcmV?d00001 > > literal 90112 > zcmeI54VYWidFQXqM}!HsAV3BA;1X~VGz`MnRD8IRv5n=#7zLYDVcSUZjK)$tBMC`k ... Hmm? ;) Other than that looks great. And since you removed the tty unref patch, this series no longer conflicts with "exit: change the release_task() paths to call flush_sigqueue() lockless" https://lore.kernel.org/all/20250205175159.GA8714@redhat.com/ I've sent for review. Hopefully we will add your "unref" patch later. Oleg.
On Wed, Feb 5, 2025 at 8:56 PM Oleg Nesterov <oleg@redhat.com> wrote: > > On 02/05, Mateusz Guzik wrote: > > > > diff --git a/scripts/selinux/genheaders/genheaders b/scripts/selinux/genheaders/genheaders > > deleted file mode 100755 > > index 3fc32a664a7930b12a38d02449aec78d49690dfe..0000000000000000000000000000000000000000 > > GIT binary patch > > literal 0 > > HcmV?d00001 > > > > literal 90112 > > zcmeI54VYWidFQXqM}!HsAV3BA;1X~VGz`MnRD8IRv5n=#7zLYDVcSUZjK)$tBMC`k > ... > > Hmm? ;) > argh. there was a temporary window where this file was creeping in, i forgot about it. i'll resend. :/
diff --git a/kernel/exit.c b/kernel/exit.c index 3485e5fc499e..c79b41509cd3 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -174,9 +174,6 @@ static void __exit_signal(struct task_struct *tsk) sig->curr_target = next_thread(tsk); } - add_device_randomness((const void*) &tsk->se.sum_exec_runtime, - sizeof(unsigned long long)); - /* * Accumulate here the counters for all threads as they die. We could * skip the group leader because it is the last user of signal_struct, @@ -278,6 +275,9 @@ void release_task(struct task_struct *p) write_unlock_irq(&tasklist_lock); proc_flush_pid(thread_pid); put_pid(thread_pid); + add_device_randomness(&p->se.sum_exec_runtime, + sizeof(p->se.sum_exec_runtime)); + free_pids(post.pids); release_thread(p); put_task_struct_rcu_user(p); diff --git a/scripts/selinux/genheaders/genheaders b/scripts/selinux/genheaders/genheaders deleted file mode 100755 index 3fc32a664a7930b12a38d02449aec78d49690dfe..0000000000000000000000000000000000000000