diff options
author | Masami Hiramatsu (Google) <mhiramat@kernel.org> | 2024-08-02 15:53:15 +0200 |
---|---|---|
committer | Masami Hiramatsu (Google) <mhiramat@kernel.org> | 2024-08-05 07:04:03 +0200 |
commit | 8c8acb8f26cbde665b233dd1b9bbcbb9b86822dc (patch) | |
tree | 4135a51084d5e89c27fac3b4291ed3d65b8ac6dc /kernel | |
parent | bpf: kprobe: remove unused declaring of bpf_kprobe_override (diff) | |
download | linux-8c8acb8f26cbde665b233dd1b9bbcbb9b86822dc.tar.xz linux-8c8acb8f26cbde665b233dd1b9bbcbb9b86822dc.zip |
kprobes: Fix to check symbol prefixes correctly
Since str_has_prefix() takes the prefix as the 2nd argument and the string
as the first, is_cfi_preamble_symbol() always fails to check the prefix.
Fix the function parameter order so that it correctly check the prefix.
Link: https://lore.kernel.org/all/172260679559.362040.7360872132937227206.stgit@devnote2/
Fixes: de02f2ac5d8c ("kprobes: Prohibit probing on CFI preamble symbol")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/kprobes.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/kprobes.c b/kernel/kprobes.c index e85de37d9e1e..da59c68df841 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -1557,8 +1557,8 @@ static bool is_cfi_preamble_symbol(unsigned long addr) if (lookup_symbol_name(addr, symbuf)) return false; - return str_has_prefix("__cfi_", symbuf) || - str_has_prefix("__pfx_", symbuf); + return str_has_prefix(symbuf, "__cfi_") || + str_has_prefix(symbuf, "__pfx_"); } static int check_kprobe_address_safe(struct kprobe *p, |