2022-06-13 04:32:44

by Binglei Wang

[permalink] [raw]
Subject: [PATCH] kprobes: drop the unnecessary unlikely()

From: "binglei.wang" <[email protected]>

!ap is likely when checking re-registering existing kprobe.
register_kprobe -> warn_kprobe_rereg -> __get_valid_kprobe

!ap is unlikely when checking whether the kprobe is valid
on enable/disable ocassion.
__disable_kprobe/enable_kprobe -> __get_valid_kprobe

Considering these two cases, choose to drop the unlikely() here.

Signed-off-by: binglei.wang <[email protected]>
---
kernel/kprobes.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index f214f8c08..f4a829d98 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -1504,7 +1504,7 @@ static struct kprobe *__get_valid_kprobe(struct kprobe *p)
lockdep_assert_held(&kprobe_mutex);

ap = get_kprobe(p->addr);
- if (unlikely(!ap))
+ if (!ap)
return NULL;

if (p != ap) {
--
2.27.0


2022-06-15 01:07:38

by Masami Hiramatsu

[permalink] [raw]
Subject: Re: [PATCH] kprobes: drop the unnecessary unlikely()

On Mon, 13 Jun 2022 12:25:36 +0800
[email protected] wrote:

> From: "binglei.wang" <[email protected]>
>
> !ap is likely when checking re-registering existing kprobe.
> register_kprobe -> warn_kprobe_rereg -> __get_valid_kprobe
>
> !ap is unlikely when checking whether the kprobe is valid
> on enable/disable ocassion.
> __disable_kprobe/enable_kprobe -> __get_valid_kprobe
>
> Considering these two cases, choose to drop the unlikely() here.
>
> Signed-off-by: binglei.wang <[email protected]>

This looks good to me.

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

Thank you!

> ---
> kernel/kprobes.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/kprobes.c b/kernel/kprobes.c
> index f214f8c08..f4a829d98 100644
> --- a/kernel/kprobes.c
> +++ b/kernel/kprobes.c
> @@ -1504,7 +1504,7 @@ static struct kprobe *__get_valid_kprobe(struct kprobe *p)
> lockdep_assert_held(&kprobe_mutex);
>
> ap = get_kprobe(p->addr);
> - if (unlikely(!ap))
> + if (!ap)
> return NULL;
>
> if (p != ap) {
> --
> 2.27.0
>


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