在 2025/8/8 22:29, Oleg Nesterov 写道:
On 08/07, Zihuan Zhang wrote:
@@ -6980,6 +6981,7 @@ void __noreturn do_task_dead(void)
current->flags |= PF_NOFREEZE;
__schedule(SM_NONE);
+ freeze_set_default_priority(current, FREEZE_PRIORITY_NEVER);
BUG();
But this change has no effect?
Firstly, this last __schedule() should not return, note the BUG() we have.
Secondly, this zombie is already PF_NOFREEZE, freeze_task() will return
false anyway.
Thanks for pointing that out.
Indeed, I’ve noticed that in the current position the code has no effect.
If we move this code to a more appropriate place, it should improve both
safety and usefulness compared to the previous implementation.
Oleg.