linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] xen: x86: make asm/xen/events.h include xen/xen.h
@ 2018-09-23 17:38 Nicolai Stange
  2018-09-24 14:41 ` Boris Ostrovsky
  0 siblings, 1 reply; 2+ messages in thread
From: Nicolai Stange @ 2018-09-23 17:38 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Boris Ostrovsky, Juergen Gross, Ingo Molnar, Borislav Petkov,
	H. Peter Anvin, Greg Kroah-Hartman, David Woodhouse, x86,
	xen-devel, linux-kernel, Nicolai Stange

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@vger.kernel.org> # 4.9.x
Signed-off-by: Nicolai Stange <nstange@suse.de>
---
 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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] xen: x86: make asm/xen/events.h include xen/xen.h
  2018-09-23 17:38 [PATCH] xen: x86: make asm/xen/events.h include xen/xen.h Nicolai Stange
@ 2018-09-24 14:41 ` Boris Ostrovsky
  0 siblings, 0 replies; 2+ messages in thread
From: Boris Ostrovsky @ 2018-09-24 14:41 UTC (permalink / raw)
  To: Nicolai Stange, Thomas Gleixner
  Cc: Juergen Gross, Ingo Molnar, Borislav Petkov, H. Peter Anvin,
	Greg Kroah-Hartman, David Woodhouse, x86, xen-devel,
	linux-kernel

On 9/23/18 1:38 PM, Nicolai Stange wrote:
> 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@vger.kernel.org> # 4.9.x
> Signed-off-by: Nicolai Stange <nstange@suse.de>


This is being done (for somewhat unrelated reasons) by
https://marc.info/?l=linux-block&m=153608849202181

-boris


> ---
>  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,


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-09-24 14:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-23 17:38 [PATCH] xen: x86: make asm/xen/events.h include xen/xen.h Nicolai Stange
2018-09-24 14:41 ` Boris Ostrovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).