ACK: [SRU][Bionic][PATCH 1/1] x86/EISA: Don't probe EISA bus for Xen PV guests

Kleber Souza kleber.souza at canonical.com
Fri Sep 28 10:35:13 UTC 2018


On 09/20/18 12:20, Joseph Salisbury wrote:
> From: Boris Ostrovsky <boris.ostrovsky at oracle.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1789118
> 
> For unprivileged Xen PV guests this is normal memory and ioremap will
> not be able to properly map it.
> 
> While at it, since ioremap may return NULL, add a test for pointer's
> validity.
> 
> Reported-by: Andy Smith <andy at strugglers.net>
> Signed-off-by: Boris Ostrovsky <boris.ostrovsky at oracle.com>
> Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
> Cc: hpa at zytor.com
> Cc: xen-devel at lists.xenproject.org
> Cc: jgross at suse.com
> Cc: stable at vger.kernel.org
> Link: https://lkml.kernel.org/r/20180911195538.23289-1-boris.ostrovsky@oracle.com
> 
> (cherry picked from commit 6a92b11169a65b3f8cc512c75a252cbd0d096ba0)
> Signed-off-by: Joseph Salisbury <joseph.salisbury at canonical.com>

Acked-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>

> ---
>  arch/x86/kernel/eisa.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/kernel/eisa.c b/arch/x86/kernel/eisa.c
> index f260e45..e8c8c5d 100644
> --- a/arch/x86/kernel/eisa.c
> +++ b/arch/x86/kernel/eisa.c
> @@ -7,11 +7,17 @@
>  #include <linux/eisa.h>
>  #include <linux/io.h>
>  
> +#include <xen/xen.h>
> +
>  static __init int eisa_bus_probe(void)
>  {
> -	void __iomem *p = ioremap(0x0FFFD9, 4);
> +	void __iomem *p;
> +
> +	if (xen_pv_domain() && !xen_initial_domain())
> +		return 0;
>  
> -	if (readl(p) == 'E' + ('I'<<8) + ('S'<<16) + ('A'<<24))
> +	p = ioremap(0x0FFFD9, 4);
> +	if (p && readl(p) == 'E' + ('I' << 8) + ('S' << 16) + ('A' << 24))
>  		EISA_bus = 1;
>  	iounmap(p);
>  	return 0;
> 





More information about the kernel-team mailing list