diff options
| author | Christian Brauner <brauner@kernel.org> | 2026-09-21 15:45:02 +0200 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-09-22 15:33:20 +0200 |
| commit | e760200370e4de054b6b5f568a7faa911e2956bb (patch) | |
| tree | e6fcd61f6b8433eee00baa44676cc9f7bb7db77b /tools/lib/python/kdoc/python_version.py | |
| parent | b42c85c20d84ff3e4f0f027d6596c3b3b4a20657 (diff) | |
| download | linux-next-e760200370e4de054b6b5f568a7faa911e2956bb.tar.gz linux-next-e760200370e4de054b6b5f568a7faa911e2956bb.zip | |
fork: move the coredump and exec checks into create_io_thread()
Only a PF_USER_WORKER thread returns from get_signal() after a fatal
signal and can go on to create a thread. get_signal() sets PF_SIGNALED
before it dumps core and before it lets a PF_USER_WORKER thread return.
That flags sticks.
The exec'ing thread itself is never signaled. But it doesn't need the check
anyway as we moved cancellation of io_uring requests before de_thread().
create_io_thread() is the only way a signaled thread creates another
one. vhost_task_create() is reached from ioctls alone.
io_should_retry_thread() doesn't retry -EINTR, so io-wq callers give up
the same way they did when copy_process() refused.
Suggested-by: Oleg Nesterov <oleg@redhat.com>
Link: https://lore.kernel.org/r/aq0VLTyxNatFmLOK@redhat.com
Link: https://patch.msgid.link/20260921-work-coredump-fixes-v3-13-8e4adb1619e6@kernel.org
Acked-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
Diffstat (limited to 'tools/lib/python/kdoc/python_version.py')
0 files changed, 0 insertions, 0 deletions
