Thread (17 messages) 17 messages, 5 authors, 2026-08-27

Re: [PATCH] uprobes: Free utask on dup_return_instance() failure

flat view

From: Oleg Nesterov <oleg@redhat.com>
Date: 2026-08-23 19:41:40
Also in: linux-perf-users, lkml

On 08/24, Keke Ming wrote:
quoted
Note that uprobe_copy_process() warns but returns "void", too late
to abort copy_process().
You are right that freeing the partial utask is not enough.
Hmm. It is not that I think "it is not enough", I think this is pointless
whatever we do. Please see below.

But you know what? I am afraid I am totally confused again, this happens
more and more often. So please correct me.
Would it make sense to keep the cleanup
But again, why do you think it makes any sense to keep the cleanup
you propose?
and additionally send
SIGKILL to the new child when the  uprobe state copy fails?
Or SIGILL like the rest of uprobes.c does...

Yes, this is what I meant. But this is only the first step to cleanup
this logic. I'll try to write another email tomorrow.

Lets suppose we change uprobe_copy_process() to kill the child. Then
why do we need to call uprobe_free_utask() in dup_utask() or do anything
else in copy_process() paths?

The child won't return to userspace, it will exit and call uprobe_free_utask()
itself.
Also, should the existing "dup xol area" failure path be handled
the same way?
Yes sure. But perhaps needs another discussion.

Oleg.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help