From: Masami Hiramatsu (Google) Date: Fri, 2 Aug 2024 13:53:15 +0000 (+0900) Subject: kprobes: Fix to check symbol prefixes correctly X-Git-Tag: v6.11-rc3~20^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8c8acb8f26cbde665b233dd1b9bbcbb9b86822dc;p=thirdparty%2Fkernel%2Flinux.git 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) --- diff --git a/kernel/kprobes.c b/kernel/kprobes.c index e85de37d9e1e0..da59c68df8412 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,