Commit 7c9e960c authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'livepatching-for-5.19' of...

Merge tag 'livepatching-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching

Pull livepatching cleanup from Petr Mladek:

 - Remove duplicated livepatch code [Christophe]

* tag 'livepatching-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:
  livepatch: Remove klp_arch_set_pc() and asm/livepatch.h
parents 12831f64 5d7c8545
...@@ -11434,8 +11434,6 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching.g ...@@ -11434,8 +11434,6 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching.g
F: Documentation/ABI/testing/sysfs-kernel-livepatch F: Documentation/ABI/testing/sysfs-kernel-livepatch
F: Documentation/livepatch/ F: Documentation/livepatch/
F: arch/powerpc/include/asm/livepatch.h F: arch/powerpc/include/asm/livepatch.h
F: arch/s390/include/asm/livepatch.h
F: arch/x86/include/asm/livepatch.h
F: include/linux/livepatch.h F: include/linux/livepatch.h
F: kernel/livepatch/ F: kernel/livepatch/
F: kernel/module/livepatch.c F: kernel/module/livepatch.c
......
...@@ -7,17 +7,9 @@ ...@@ -7,17 +7,9 @@
#ifndef _ASM_POWERPC_LIVEPATCH_H #ifndef _ASM_POWERPC_LIVEPATCH_H
#define _ASM_POWERPC_LIVEPATCH_H #define _ASM_POWERPC_LIVEPATCH_H
#include <linux/module.h> #include <linux/sched.h>
#include <linux/ftrace.h>
#include <linux/sched/task_stack.h> #include <linux/sched/task_stack.h>
#ifdef CONFIG_LIVEPATCH
static inline void klp_arch_set_pc(struct ftrace_regs *fregs, unsigned long ip)
{
ftrace_instruction_pointer_set(fregs, ip);
}
#endif /* CONFIG_LIVEPATCH */
#ifdef CONFIG_LIVEPATCH_64 #ifdef CONFIG_LIVEPATCH_64
static inline void klp_init_thread_info(struct task_struct *p) static inline void klp_init_thread_info(struct task_struct *p)
{ {
......
...@@ -63,7 +63,6 @@ ...@@ -63,7 +63,6 @@
#include <asm/machdep.h> #include <asm/machdep.h>
#include <asm/udbg.h> #include <asm/udbg.h>
#include <asm/smp.h> #include <asm/smp.h>
#include <asm/livepatch.h>
#include <asm/hw_irq.h> #include <asm/hw_irq.h>
#include <asm/softirq_stack.h> #include <asm/softirq_stack.h>
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
#include <asm/udbg.h> #include <asm/udbg.h>
#include <asm/kexec.h> #include <asm/kexec.h>
#include <asm/code-patching.h> #include <asm/code-patching.h>
#include <asm/livepatch.h> #include <asm/ftrace.h>
#include <asm/opal.h> #include <asm/opal.h>
#include <asm/cputhreads.h> #include <asm/cputhreads.h>
#include <asm/hw_irq.h> #include <asm/hw_irq.h>
......
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* livepatch.h - s390-specific Kernel Live Patching Core
*
* Copyright (c) 2013-2015 SUSE
* Authors: Jiri Kosina
* Vojtech Pavlik
* Jiri Slaby
*/
#ifndef ASM_LIVEPATCH_H
#define ASM_LIVEPATCH_H
#include <linux/ftrace.h>
#include <asm/ptrace.h>
static inline void klp_arch_set_pc(struct ftrace_regs *fregs, unsigned long ip)
{
ftrace_instruction_pointer_set(fregs, ip);
}
#endif
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* livepatch.h - x86-specific Kernel Live Patching Core
*
* Copyright (C) 2014 Seth Jennings <sjenning@redhat.com>
* Copyright (C) 2014 SUSE
*/
#ifndef _ASM_X86_LIVEPATCH_H
#define _ASM_X86_LIVEPATCH_H
#include <asm/setup.h>
#include <linux/ftrace.h>
static inline void klp_arch_set_pc(struct ftrace_regs *fregs, unsigned long ip)
{
ftrace_instruction_pointer_set(fregs, ip);
}
#endif /* _ASM_X86_LIVEPATCH_H */
...@@ -16,8 +16,6 @@ ...@@ -16,8 +16,6 @@
#if IS_ENABLED(CONFIG_LIVEPATCH) #if IS_ENABLED(CONFIG_LIVEPATCH)
#include <asm/livepatch.h>
/* task patch states */ /* task patch states */
#define KLP_UNDEFINED -1 #define KLP_UNDEFINED -1
#define KLP_UNPATCHED 0 #define KLP_UNPATCHED 0
......
...@@ -118,7 +118,7 @@ static void notrace klp_ftrace_handler(unsigned long ip, ...@@ -118,7 +118,7 @@ static void notrace klp_ftrace_handler(unsigned long ip,
if (func->nop) if (func->nop)
goto unlock; goto unlock;
klp_arch_set_pc(fregs, (unsigned long)func->new_func); ftrace_instruction_pointer_set(fregs, (unsigned long)func->new_func);
unlock: unlock:
ftrace_test_recursion_unlock(bit); ftrace_test_recursion_unlock(bit);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment