2022-10-25 04:11:12

by Rafael Mendonca

[permalink] [raw]
Subject: [PATCH] fprobe: Check rethook_alloc() return in rethook initialization

Check if fp->rethook succeeded to be allocated. Otherwise, if
rethook_alloc() fails, then we end up dereferencing a NULL pointer in
rethook_add_node().

Fixes: 5b0ab78998e3 ("fprobe: Add exit_handler support")
Signed-off-by: Rafael Mendonca <[email protected]>
---
kernel/trace/fprobe.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/kernel/trace/fprobe.c b/kernel/trace/fprobe.c
index aac63ca9c3d1..71614b2a67ff 100644
--- a/kernel/trace/fprobe.c
+++ b/kernel/trace/fprobe.c
@@ -141,6 +141,8 @@ static int fprobe_init_rethook(struct fprobe *fp, int num)
return -E2BIG;

fp->rethook = rethook_alloc((void *)fp, fprobe_exit_handler);
+ if (!fp->rethook)
+ return -ENOMEM;
for (i = 0; i < size; i++) {
struct fprobe_rethook_node *node;

--
2.34.1


2022-10-25 09:19:40

by Masami Hiramatsu

[permalink] [raw]
Subject: Re: [PATCH] fprobe: Check rethook_alloc() return in rethook initialization

On Tue, 25 Oct 2022 00:12:08 -0300
Rafael Mendonca <[email protected]> wrote:

> Check if fp->rethook succeeded to be allocated. Otherwise, if
> rethook_alloc() fails, then we end up dereferencing a NULL pointer in
> rethook_add_node().

Good catch!

Acked-by: Masami Hiramatsu (Google) <[email protected]>

Thank you!

>
> Fixes: 5b0ab78998e3 ("fprobe: Add exit_handler support")
> Signed-off-by: Rafael Mendonca <[email protected]>
> ---
> kernel/trace/fprobe.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/trace/fprobe.c b/kernel/trace/fprobe.c
> index aac63ca9c3d1..71614b2a67ff 100644
> --- a/kernel/trace/fprobe.c
> +++ b/kernel/trace/fprobe.c
> @@ -141,6 +141,8 @@ static int fprobe_init_rethook(struct fprobe *fp, int num)
> return -E2BIG;
>
> fp->rethook = rethook_alloc((void *)fp, fprobe_exit_handler);
> + if (!fp->rethook)
> + return -ENOMEM;
> for (i = 0; i < size; i++) {
> struct fprobe_rethook_node *node;
>
> --
> 2.34.1
>


--
Masami Hiramatsu (Google) <[email protected]>

2022-10-25 11:50:13

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] fprobe: Check rethook_alloc() return in rethook initialization

On Tue, 25 Oct 2022 17:03:46 +0900
Masami Hiramatsu (Google) <[email protected]> wrote:

> On Tue, 25 Oct 2022 00:12:08 -0300
> Rafael Mendonca <[email protected]> wrote:
>
> > Check if fp->rethook succeeded to be allocated. Otherwise, if
> > rethook_alloc() fails, then we end up dereferencing a NULL pointer in
> > rethook_add_node().
>
> Good catch!
>
> Acked-by: Masami Hiramatsu (Google) <[email protected]>
>

Acked-by: Steven Rostedt (Google) <[email protected]>

Masami, feel free to pull this in.

-- Steve