fprobe: Fix to ensure the number of active retprobes is not zero

[ Upstream commit 700b2b4397 ]

The number of active retprobes can be zero but it is not acceptable,
so return EINVAL error if detected.

Link: https://lore.kernel.org/all/169750018550.186853.11198884812017796410.stgit@devnote2/

Reported-by: wuqiang.matt <wuqiang.matt@bytedance.com>
Closes: https://lore.kernel.org/all/20231016222103.cb9f426edc60220eabd8aa6a@kernel.org/
Fixes: 5b0ab78998 ("fprobe: Add exit_handler support")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Masami Hiramatsu (Google) 2023-10-17 08:49:45 +09:00 committed by Greg Kroah-Hartman
parent f177a579d2
commit df2cc87f2c
1 changed files with 3 additions and 3 deletions

View File

@ -134,7 +134,7 @@ static int fprobe_init_rethook(struct fprobe *fp, int num)
{ {
int i, size; int i, size;
if (num < 0) if (num <= 0)
return -EINVAL; return -EINVAL;
if (!fp->exit_handler) { if (!fp->exit_handler) {
@ -147,8 +147,8 @@ static int fprobe_init_rethook(struct fprobe *fp, int num)
size = fp->nr_maxactive; size = fp->nr_maxactive;
else else
size = num * num_possible_cpus() * 2; size = num * num_possible_cpus() * 2;
if (size < 0) if (size <= 0)
return -E2BIG; return -EINVAL;
fp->rethook = rethook_alloc((void *)fp, fprobe_exit_handler); fp->rethook = rethook_alloc((void *)fp, fprobe_exit_handler);
if (!fp->rethook) if (!fp->rethook)