]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
kprobes: Fix to check symbol prefixes correctly
authorMasami Hiramatsu (Google) <mhiramat@kernel.org>
Fri, 2 Aug 2024 13:53:15 +0000 (22:53 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Aug 2024 13:34:22 +0000 (15:34 +0200)
[ Upstream commit 8c8acb8f26cbde665b233dd1b9bbcbb9b86822dc ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/kprobes.c

index 6a76a81000735e805981de4abf5035acedfb4537..85251c254d8a67f28e381d61fd8338ad32a65567 100644 (file)
@@ -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,