Re: [PATCH v2 5/5] uprobes: make uprobe_register() return struct uprobe *

Peter Zijlstra
2024-07-31T17:05:56Z

On Wed, Jul 31, 2024 at 10:01:47AM -0700, Andrii Nakryiko wrote:
> On Wed, Jul 31, 2024 at 9:56 AM Peter Zijlstra <peterz@infradead.org> wrote:
> >
> > On Wed, Jul 31, 2024 at 09:18:00AM -0700, Andrii Nakryiko wrote:
> > > On Mon, Jul 29, 2024 at 6:45 AM Oleg Nesterov <oleg@redhat.com> wrote:
> > > >
> > > > This way uprobe_unregister() and uprobe_apply() can use "struct uprobe *"
> > > > rather than inode + offset. This simplifies the code and allows to avoid
> > > > the unnecessary find_uprobe() + put_uprobe() in these functions.
> > > >
> > > > TODO: uprobe_unregister() still needs get_uprobe/put_uprobe to ensure that
> > > > this uprobe can't be freed before up_write(&uprobe->register_rwsem).
> > > >
> > > > Signed-off-by: Oleg Nesterov <oleg@redhat.com>
> > > > Acked-by: Andrii Nakryiko <andrii@kernel.org>
> > > > ---
> > > > include/linux/uprobes.h | 15 +++++-----
> > > > kernel/events/uprobes.c | 56 +++++++++++++++----------------------
> > > > kernel/trace/bpf_trace.c | 25 ++++++++---------
> > > > kernel/trace/trace_uprobe.c | 26 ++++++++---------
> > > > 4 files changed, 55 insertions(+), 67 deletions(-)
> > > >
> > >
> > > You'll need something like below to not break our bpf_testmod. And
> > > please send pull patch sets, not individually updated patches, it's a
> > > PITA to deal with. Thanks!
> >
> > Do I stuff this on top of Oleg's patch or do you want me to fold it in
> > one of them?
>
> Please fold so we have better (potential) bisectability of BPF
> selftests, thanks!

Fold where, patch 5?