If a newly loaded livepatch provides a function entry with a NULL old_name,
func->old_name will be NULL when evaluated in strcmp():

klp_init_patch()
    klp_add_nops()
        klp_find_func()
            strcmp(old_func->old_name, func->old_name)

Reported-by: sashiko-bot <[email protected]>
Closes: 
https://lore.kernel.org/live-patching/[email protected]/
Signed-off-by: Yafang Shao <[email protected]>
---
 kernel/livepatch/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
index 28d15ba58a26..95117f7a5b00 100644
--- a/kernel/livepatch/core.c
+++ b/kernel/livepatch/core.c
@@ -92,7 +92,7 @@ static struct klp_func *klp_find_func(struct klp_object *obj,
                 * Besides identical old_sympos, also consider old_sympos
                 * of 0 and 1 are identical.
                 */
-               if ((strcmp(old_func->old_name, func->old_name) == 0) &&
+               if ((func->old_name && strcmp(old_func->old_name, 
func->old_name) == 0) &&
                    ((old_func->old_sympos == func->old_sympos) ||
                     (old_func->old_sympos == 0 && func->old_sympos == 1) ||
                     (old_func->old_sympos == 1 && func->old_sympos == 0))) {
-- 
2.52.0


Reply via email to