diff options
Diffstat (limited to 'kernel/livepatch/core.c')
-rw-r--r-- | kernel/livepatch/core.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c index 69bf3aa3bde8..782172f073c5 100644 --- a/kernel/livepatch/core.c +++ b/kernel/livepatch/core.c | |||
@@ -314,12 +314,12 @@ static void notrace klp_ftrace_handler(unsigned long ip, | |||
314 | rcu_read_lock(); | 314 | rcu_read_lock(); |
315 | func = list_first_or_null_rcu(&ops->func_stack, struct klp_func, | 315 | func = list_first_or_null_rcu(&ops->func_stack, struct klp_func, |
316 | stack_node); | 316 | stack_node); |
317 | rcu_read_unlock(); | ||
318 | |||
319 | if (WARN_ON_ONCE(!func)) | 317 | if (WARN_ON_ONCE(!func)) |
320 | return; | 318 | goto unlock; |
321 | 319 | ||
322 | klp_arch_set_pc(regs, (unsigned long)func->new_func); | 320 | klp_arch_set_pc(regs, (unsigned long)func->new_func); |
321 | unlock: | ||
322 | rcu_read_unlock(); | ||
323 | } | 323 | } |
324 | 324 | ||
325 | static int klp_disable_func(struct klp_func *func) | 325 | static int klp_disable_func(struct klp_func *func) |