On 2025/9/24 08:26 Masami Hiramatsu (Google) <mhira...@kernel.org> write: > From: Masami Hiramatsu (Google) <mhira...@kernel.org> > > Even if there is a memory allocation failure in fprobe_addr_list_add(), > there is a partial list of module addresses. So remove the recorded > addresses from filter if exists. > This also removes the redundant ret local variable.
I think this is what you do in the previous patch? The rest looks good to me. Reviewed-by: Menglong Dong <menglong8.d...@gmail.com> (I think I should use Reviewed-by here, rather than Acked-by, right?) Thanks! Menglong Dong > > Fixes: a3dc2983ca7b ("tracing: fprobe: Cleanup fprobe hash when module > unloading") > Signed-off-by: Masami Hiramatsu (Google) <mhira...@kernel.org> > --- > kernel/trace/fprobe.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/kernel/trace/fprobe.c b/kernel/trace/fprobe.c > index 12ec194fdfed..95e43814b85b 100644 > --- a/kernel/trace/fprobe.c > +++ b/kernel/trace/fprobe.c > @@ -434,8 +434,9 @@ static int fprobe_addr_list_add(struct fprobe_addr_list > *alist, unsigned long ad > { > unsigned long *addrs; > > - if (alist->index >= alist->size) > - return -ENOMEM; > + /* Previously we failed to expand the list. */ > + if (alist->index == alist->size) > + return -ENOSPC; > > alist->addrs[alist->index++] = addr; > if (alist->index < alist->size) > @@ -497,7 +498,7 @@ static int fprobe_module_callback(struct notifier_block > *nb, > } while (node == ERR_PTR(-EAGAIN)); > rhashtable_walk_exit(&iter); > > - if (alist.index < alist.size && alist.index > 0) > + if (alist.index > 0) > ftrace_set_filter_ips(&fprobe_graph_ops.ops, > alist.addrs, alist.index, 1, 0); > mutex_unlock(&fprobe_mutex); > > >