@@ -9,7 +9,6 @@
#include <xen/livepatch.h>
#include <asm/page.h>
-#include <asm/livepatch.h>
void arch_livepatch_apply(const struct livepatch_func *func,
struct livepatch_fstate *state)
@@ -13,7 +13,6 @@
#include <asm/bitops.h>
#include <asm/byteorder.h>
#include <asm/insn.h>
-#include <asm/livepatch.h>
void arch_livepatch_apply(const struct livepatch_func *func,
struct livepatch_fstate *state)
@@ -11,7 +11,6 @@
#include <xen/vmap.h>
#include <asm/cpufeature.h>
-#include <asm/livepatch.h>
/* Override macros from asm/page.h to make them work with mfn_t */
#undef virt_to_mfn
@@ -17,7 +17,6 @@
#include <asm/endbr.h>
#include <asm/fixmap.h>
#include <asm/nmi.h>
-#include <asm/livepatch.h>
#include <asm/setup.h>
static bool has_active_waitqueue(const struct vm_event_domain *ved)
@@ -14,12 +14,14 @@ struct xen_sysctl_livepatch_op;
#include <xen/elfstructs.h>
#include <xen/errno.h> /* For -ENOSYS or -EOVERFLOW */
-#include <public/sysctl.h> /* For LIVEPATCH_OPAQUE_SIZE */
+#include <public/sysctl.h>
#ifdef CONFIG_LIVEPATCH
#include <xen/lib.h>
+#include <asm/livepatch.h>
+
/*
* We use alternative and exception table code - which by default are __init
* only, however we need them during runtime. These macros allows us to build
@@ -93,8 +95,6 @@ int arch_livepatch_secure(const void *va, unsigned int pages, enum va_type types
void arch_livepatch_init(void);
-#include <public/sysctl.h> /* For struct livepatch_func. */
-#include <asm/livepatch.h>
int arch_livepatch_verify_func(const struct livepatch_func *func);
static inline
@@ -143,7 +143,7 @@ struct payload;
int revert_payload(struct payload *data);
void revert_payload_tail(struct payload *data);
-#else
+#else /* !CONFIG_LIVEPATCH */
/*
* If not compiling with Live Patch certain functionality should stay as
@@ -165,7 +165,7 @@ static inline bool is_patch(const void *addr)
{
return 0;
}
-#endif /* CONFIG_LIVEPATCH */
+#endif /* !CONFIG_LIVEPATCH */
#endif /* __XEN_LIVEPATCH_H__ */
xen/livepatch.h includes public/sysctl.h twice, which can be deduplicated, and includes asm/livepatch.h meaning that each livepatch.c does not need to include both. Comment the #else and #endif cases to aid legibility. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- CC: Anthony PERARD <anthony.perard@vates.tech> CC: Michal Orzel <michal.orzel@amd.com> CC: Jan Beulich <jbeulich@suse.com> CC: Julien Grall <julien@xen.org> CC: Roger Pau Monné <roger.pau@citrix.com> CC: Stefano Stabellini <sstabellini@kernel.org> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> CC: Bertrand Marquis <bertrand.marquis@arm.com> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com> CC: Shawn Anastasio <sanastasio@raptorengineering.com> --- xen/arch/arm/arm32/livepatch.c | 1 - xen/arch/arm/arm64/livepatch.c | 1 - xen/arch/arm/livepatch.c | 1 - xen/arch/x86/livepatch.c | 1 - xen/include/xen/livepatch.h | 10 +++++----- 5 files changed, 5 insertions(+), 9 deletions(-)