mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] x86/EISA: Don't probe EISA bus for Xen PV guests
@ 2018-09-11 19:55 Boris Ostrovsky
  2018-09-11 20:20 ` Thomas Gleixner
  2018-09-11 21:39 ` [tip:x86/urgent] " tip-bot for Boris Ostrovsky
  0 siblings, 2 replies; 4+ messages in thread
From: Boris Ostrovsky @ 2018-09-11 19:55 UTC (permalink / raw)
  To: tglx, mingo, hpa
  Cc: x86, linux-kernel, xen-devel, jgross, andy, Boris Ostrovsky

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@strugglers.net>
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.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 f260e452e4f8..fcf3de1712c8 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;
-- 
2.17.1


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

end of thread, other threads:[~2018-09-11 21:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-11 19:55 [PATCH] x86/EISA: Don't probe EISA bus for Xen PV guests Boris Ostrovsky
2018-09-11 20:20 ` Thomas Gleixner
2018-09-11 20:30   ` Boris Ostrovsky
2018-09-11 21:39 ` [tip:x86/urgent] " tip-bot for Boris Ostrovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®