Messages in this thread | | | Date | Thu, 27 Aug 2020 13:48:07 +0200 | From | peterz@infradea ... | Subject | Re: [PATCH v2 15/15] kprobes: Free kretprobe_instance with rcu callback |
| |
On Thu, Aug 27, 2020 at 08:37:49PM +0900, Masami Hiramatsu wrote: > Free kretprobe_instance with rcu callback instead of directly > freeing the object in the kretprobe handler context. > > This will make kretprobe run safer in NMI context. > > Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> > --- > include/linux/kprobes.h | 3 ++- > kernel/kprobes.c | 25 ++++++------------------- > 2 files changed, 8 insertions(+), 20 deletions(-) > > diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h > index 46a7afcf5ec0..97557f820d9b 100644 > --- a/include/linux/kprobes.h > +++ b/include/linux/kprobes.h > @@ -160,6 +160,7 @@ struct kretprobe_instance { > struct kretprobe *rp; > kprobe_opcode_t *ret_addr; > struct task_struct *task; > + struct rcu_head rcu; > void *fp; > char data[]; > };
You can stick the rcu_head in a union with hlist.
| |