From 44416a8431572264d537dceec9de514dbead694e Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Mon, 5 Jan 2026 20:41:11 +0000 Subject: [PATCH] xen: Include suitable headers to make declarations visible A range of functions can't see their declarations, requiring the inclusion of appropriate headers. For pv/mm.h and pv/traps.h, this requires adjustments to become stand-alone. In pv/mm.h, swap xen/lib.h for xen/bug.h now that ASSERT_UNREACHABLE() has moved. For pv/traps.h, pv_trap_callback_registered() needs to see a complete struct vcpu, and xen/sched.h is not something appropriate to pull in conditionally. stack-protector.c can't see the declaration of __stack_chk_guard, and fixing that reveals that stack-protector.h needs get_cycles() too. No functional change. Signed-off-by: Andrew Cooper Acked-by: Jan Beulich --- xen/arch/x86/include/asm/pv/mm.h | 8 +++++++- xen/arch/x86/include/asm/pv/traps.h | 6 ++---- xen/arch/x86/mm/mem_paging.c | 6 ++++-- xen/arch/x86/pv/emul-gate-op.c | 2 ++ xen/arch/x86/pv/emul-inv-op.c | 1 + xen/arch/x86/pv/emul-priv-op.c | 1 + xen/arch/x86/pv/emulate.c | 1 + xen/arch/x86/pv/grant_table.c | 1 + xen/arch/x86/pv/mm.c | 1 + xen/arch/x86/pv/ro-page-fault.c | 1 + xen/arch/x86/pv/traps.c | 1 + xen/arch/x86/x86_64/machine_kexec.c | 3 ++- xen/common/stack-protector.c | 1 + xen/include/xen/stack-protector.h | 2 ++ 14 files changed, 27 insertions(+), 8 deletions(-) diff --git a/xen/arch/x86/include/asm/pv/mm.h b/xen/arch/x86/include/asm/pv/mm.h index a574590820..11a43f15e2 100644 --- a/xen/arch/x86/include/asm/pv/mm.h +++ b/xen/arch/x86/include/asm/pv/mm.h @@ -10,6 +10,12 @@ #ifndef __X86_PV_MM_H__ #define __X86_PV_MM_H__ +#include + +struct cpu_user_regs; +struct page_info; +struct vcpu; + #ifdef CONFIG_PV int pv_ro_page_fault(unsigned long addr, struct cpu_user_regs *regs); @@ -26,7 +32,7 @@ int validate_segdesc_page(struct page_info *page); #else #include -#include +#include static inline int pv_ro_page_fault(unsigned long addr, struct cpu_user_regs *regs) diff --git a/xen/arch/x86/include/asm/pv/traps.h b/xen/arch/x86/include/asm/pv/traps.h index 8c31d5a793..8c20119092 100644 --- a/xen/arch/x86/include/asm/pv/traps.h +++ b/xen/arch/x86/include/asm/pv/traps.h @@ -10,9 +10,9 @@ #ifndef __X86_PV_TRAPS_H__ #define __X86_PV_TRAPS_H__ -#ifdef CONFIG_PV +#include -#include +#ifdef CONFIG_PV int pv_raise_nmi(struct vcpu *v); @@ -28,8 +28,6 @@ static inline bool pv_trap_callback_registered(const struct vcpu *v, #else /* !CONFIG_PV */ -#include - static inline int pv_raise_nmi(struct vcpu *v) { return -EOPNOTSUPP; } static inline int pv_emulate_privileged_op(struct cpu_user_regs *regs) { return 0; } diff --git a/xen/arch/x86/mm/mem_paging.c b/xen/arch/x86/mm/mem_paging.c index d4b3cb990c..33929b526a 100644 --- a/xen/arch/x86/mm/mem_paging.c +++ b/xen/arch/x86/mm/mem_paging.c @@ -7,10 +7,12 @@ * Copyright (c) 2009 Citrix Systems, Inc. (Patrick Colp) */ - -#include #include #include + +#include +#include + #include #include "mm-locks.h" diff --git a/xen/arch/x86/pv/emul-gate-op.c b/xen/arch/x86/pv/emul-gate-op.c index 1faf13b962..c2c699fbff 100644 --- a/xen/arch/x86/pv/emul-gate-op.c +++ b/xen/arch/x86/pv/emul-gate-op.c @@ -9,6 +9,8 @@ #include +#include + #include "emulate.h" static int read_gate_descriptor(unsigned int gate_sel, diff --git a/xen/arch/x86/pv/emul-inv-op.c b/xen/arch/x86/pv/emul-inv-op.c index 346ac1124d..23d2928b00 100644 --- a/xen/arch/x86/pv/emul-inv-op.c +++ b/xen/arch/x86/pv/emul-inv-op.c @@ -8,6 +8,7 @@ */ #include +#include #include "emulate.h" diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c index 1d9e57ad27..a3c1fd1262 100644 --- a/xen/arch/x86/pv/emul-priv-op.c +++ b/xen/arch/x86/pv/emul-priv-op.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include diff --git a/xen/arch/x86/pv/emulate.c b/xen/arch/x86/pv/emulate.c index 0022e0f55e..a00d1c6c82 100644 --- a/xen/arch/x86/pv/emulate.c +++ b/xen/arch/x86/pv/emulate.c @@ -10,6 +10,7 @@ #include #include +#include #include "emulate.h" diff --git a/xen/arch/x86/pv/grant_table.c b/xen/arch/x86/pv/grant_table.c index 247436a015..1df68440a2 100644 --- a/xen/arch/x86/pv/grant_table.c +++ b/xen/arch/x86/pv/grant_table.c @@ -12,6 +12,7 @@ #include #include +#include #include #include "mm.h" diff --git a/xen/arch/x86/pv/mm.c b/xen/arch/x86/pv/mm.c index 187f5f6a3e..3f2e9dedcd 100644 --- a/xen/arch/x86/pv/mm.c +++ b/xen/arch/x86/pv/mm.c @@ -12,6 +12,7 @@ #include #include +#include #include "mm.h" diff --git a/xen/arch/x86/pv/ro-page-fault.c b/xen/arch/x86/pv/ro-page-fault.c index 9c6f668846..d89306d34f 100644 --- a/xen/arch/x86/pv/ro-page-fault.c +++ b/xen/arch/x86/pv/ro-page-fault.c @@ -8,6 +8,7 @@ * Copyright (c) 2004 Christian Limpach */ +#include #include #include diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c index 26a468108a..b0395b9914 100644 --- a/xen/arch/x86/pv/traps.c +++ b/xen/arch/x86/pv/traps.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include diff --git a/xen/arch/x86/x86_64/machine_kexec.c b/xen/arch/x86/x86_64/machine_kexec.c index f4a005cd0c..f9e54d86fb 100644 --- a/xen/arch/x86/x86_64/machine_kexec.c +++ b/xen/arch/x86/x86_64/machine_kexec.c @@ -6,8 +6,9 @@ * - Magnus Damm */ -#include #include +#include + #include #include diff --git a/xen/common/stack-protector.c b/xen/common/stack-protector.c index 2115912c3b..05e57d4509 100644 --- a/xen/common/stack-protector.c +++ b/xen/common/stack-protector.c @@ -2,6 +2,7 @@ #include #include #include +#include #include /* diff --git a/xen/include/xen/stack-protector.h b/xen/include/xen/stack-protector.h index 931affd919..65488bdabc 100644 --- a/xen/include/xen/stack-protector.h +++ b/xen/include/xen/stack-protector.h @@ -1,6 +1,8 @@ #ifndef __XEN_STACK_PROTECTOR_H__ #define __XEN_STACK_PROTECTOR_H__ +#include + extern unsigned long __stack_chk_guard; /*