Re: [PATCH RFC v4 12/15] io_uring/cmd: let cmds to know about dying task

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/5/24 23:02, Bernd Schubert wrote:
On 11/5/24 02:08, Pavel Begunkov wrote:
On 11/4/24 22:15, Bernd Schubert wrote:
On 11/4/24 01:28, Pavel Begunkov wrote:
...
In general if you need to change something, either stick your
name, so that I know it might be a derivative, or reflect it in
the commit message, e.g.

Signed-off-by: initial author
[Person 2: changed this and that]
Signed-off-by: person 2

Oh sorry, for sure. I totally forgot to update the commit message.

Somehow the initial version didn't trigger. I need to double check to

"Didn't trigger" like in "kernel was still crashing"?

My initial problem was a crash in iov_iter_get_pages2() on process
kill. And when I tested your initial patch IO_URING_F_TASK_DEAD didn't
get set. Jens then asked to test with the version that I have in my
branch and that worked fine. Although in the mean time I wonder if
I made test mistake (like just fuse.ko reload instead of reboot with
new kernel). Just fixed a couple of issues in my branch (basically
ready for the next version send), will test the initial patch
again as first thing in the morning.

I see. Please let know if it doesn't work, it's not specific
to fuse, if there is a problem it'd also affects other core
io_uring parts.

FWIW, the original version is how it's handled in several places
across io_uring, and the difference is a gap for !DEFER_TASKRUN
when a task_work is queued somewhere in between when a task is
started going through exit() but haven't got PF_EXITING set yet.
IOW, should be harder to hit.


Does that mean that the test for PF_EXITING is racy and we cannot
entirely rely on it?

No, the PF_EXITING check was fine, even though it'll look
different now for unrelated reasons. What I'm saying is that the
callback can get executed from the desired task, i.e.
req->task == current, but it can happen from a late exit(2)/etc.
path where the task is botched and likely doesn't have ->mm.

--
Pavel Begunkov




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux