[PATCH] xen: x86: make asm/xen/events.h include xen/xen.h

From: Nicolai Stange
Date: Sun Sep 23 2018 - 13:45:56 EST


arch/x86/include/asm/xen/events.h references xen_hvm_domain() from the
inlined xen_support_evtchn_rebind().

xen_hvm_domain() gets #defined in include/xen/xen.h and
arch/x86/include/asm/xen/events.h doesn't include that.

On current Linus' tree, everything works fine though, because of the
following inclusion chain

include/xen/events.h
arch/x86/include/asm/xen/hypercall.h
arch/x86/include/asm/pgtable.h
arch/x86/include/asm/fixmap.h
arch/x86/include/asm/acpi.h
arch/x86/include/asm/realmode.h
arch/x86/include/asm/io.h
include/xen/xen.h
asm/xen/events.h

which has been established in commit f991376e444a ("x86/mm: Correct fixmap
header usage on adaptable MODULES_END") resp. commit ef37bc361442
("x86/headers: Simplify asm/fixmap.h inclusion into asm/pgtable*.h").

Stable 4.9 lacks both of these and backporting them wouldn't really make
sense.

In consequence, the backport of commit 447ae3166702 ("x86: Don't include
linux/irq.h from asm/hardirq.h") to stable 4.9 broke compilation with
errors like

In file included from include/xen/events.h:11:0,
from arch/x86/xen/irq.c:9:
arch/x86/include/asm/xen/events.h: In function
âxen_support_evtchn_rebindâ:
arch/x86/include/asm/xen/events.h:31:2: error: implicit declaration of
function âxen_hvm_domainâ [-Werror=implicit-function-declaration]
return (!xen_hvm_domain() || xen_have_vector_callback);
^

Facilitate backporting to the stable trees by making
arch/x86/include/asm/xen/events.h include xen/xen.h.

Fixes: 447ae3166702 ("x86: Don't include linux/irq.h from asm/hardirq.h")
Cc: <stable@xxxxxxxxxxxxxxx> # 4.9.x
Signed-off-by: Nicolai Stange <nstange@xxxxxxx>
---
arch/x86/include/asm/xen/events.h | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/x86/include/asm/xen/events.h b/arch/x86/include/asm/xen/events.h
index d383140e1dc8..068d9b067c83 100644
--- a/arch/x86/include/asm/xen/events.h
+++ b/arch/x86/include/asm/xen/events.h
@@ -2,6 +2,8 @@
#ifndef _ASM_X86_XEN_EVENTS_H
#define _ASM_X86_XEN_EVENTS_H

+#include <xen/xen.h>
+
enum ipi_vector {
XEN_RESCHEDULE_VECTOR,
XEN_CALL_FUNCTION_VECTOR,
--
2.13.7