All of lore.kernel.org
 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
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ 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 related	[flat|nested] 7+ messages in thread

* Re: [PATCH] x86/EISA: Don't probe EISA bus for Xen PV guests
  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:20 ` Thomas Gleixner
  2018-09-11 20:30   ` Boris Ostrovsky
  2018-09-11 20:30   ` Boris Ostrovsky
  2018-09-11 21:39 ` [tip:x86/urgent] " tip-bot for Boris Ostrovsky
  2 siblings, 2 replies; 7+ messages in thread
From: Thomas Gleixner @ 2018-09-11 20:20 UTC (permalink / raw)
  To: Boris Ostrovsky; +Cc: mingo, hpa, x86, linux-kernel, xen-devel, jgross, andy

On Tue, 11 Sep 2018, Boris Ostrovsky wrote:

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

I assume this goes back to very dead kernels, so that should go with a Cc
stable, right?

Thanks,

	tglx

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

* Re: [PATCH] x86/EISA: Don't probe EISA bus for Xen PV guests
  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:20 ` Thomas Gleixner
  2018-09-11 21:39 ` [tip:x86/urgent] " tip-bot for Boris Ostrovsky
  2 siblings, 0 replies; 7+ messages in thread
From: Thomas Gleixner @ 2018-09-11 20:20 UTC (permalink / raw)
  To: Boris Ostrovsky; +Cc: jgross, x86, linux-kernel, mingo, hpa, andy, xen-devel

On Tue, 11 Sep 2018, Boris Ostrovsky wrote:

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

I assume this goes back to very dead kernels, so that should go with a Cc
stable, right?

Thanks,

	tglx

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

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

* Re: [PATCH] x86/EISA: Don't probe EISA bus for Xen PV guests
  2018-09-11 20:20 ` Thomas Gleixner
  2018-09-11 20:30   ` Boris Ostrovsky
@ 2018-09-11 20:30   ` Boris Ostrovsky
  1 sibling, 0 replies; 7+ messages in thread
From: Boris Ostrovsky @ 2018-09-11 20:30 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: mingo, hpa, x86, linux-kernel, xen-devel, jgross, andy, stable

On 9/11/18 4:20 PM, Thomas Gleixner wrote:
> On Tue, 11 Sep 2018, Boris Ostrovsky wrote:
>
>> 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.
> I assume this goes back to very dead kernels, so that should go with a Cc
> stable, right?
>


Yes, I forgot to add those (and now I did), thanks for pointing this out.

It has to go at least all the way back to 4.13 since before
f7eaf6e00fd58 ("x86/boot: Move EISA setup to a separate file"), just by
luck, early_ioremap() worked for the guests.


-boris

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

* Re: [PATCH] x86/EISA: Don't probe EISA bus for Xen PV guests
  2018-09-11 20:20 ` Thomas Gleixner
@ 2018-09-11 20:30   ` Boris Ostrovsky
  2018-09-11 20:30   ` Boris Ostrovsky
  1 sibling, 0 replies; 7+ messages in thread
From: Boris Ostrovsky @ 2018-09-11 20:30 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: jgross, x86, linux-kernel, stable, mingo, hpa, andy, xen-devel

On 9/11/18 4:20 PM, Thomas Gleixner wrote:
> On Tue, 11 Sep 2018, Boris Ostrovsky wrote:
>
>> 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.
> I assume this goes back to very dead kernels, so that should go with a Cc
> stable, right?
>


Yes, I forgot to add those (and now I did), thanks for pointing this out.

It has to go at least all the way back to 4.13 since before
f7eaf6e00fd58 ("x86/boot: Move EISA setup to a separate file"), just by
luck, early_ioremap() worked for the guests.


-boris

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

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

* [tip:x86/urgent] x86/EISA: Don't probe EISA bus for Xen PV guests
  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:20 ` Thomas Gleixner
@ 2018-09-11 21:39 ` tip-bot for Boris Ostrovsky
  2 siblings, 0 replies; 7+ messages in thread
From: tip-bot for Boris Ostrovsky @ 2018-09-11 21:39 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: mingo, linux-kernel, hpa, tglx, andy, boris.ostrovsky

Commit-ID:  6a92b11169a65b3f8cc512c75a252cbd0d096ba0
Gitweb:     https://git.kernel.org/tip/6a92b11169a65b3f8cc512c75a252cbd0d096ba0
Author:     Boris Ostrovsky <boris.ostrovsky@oracle.com>
AuthorDate: Tue, 11 Sep 2018 15:55:38 -0400
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Tue, 11 Sep 2018 23:36:50 +0200

x86/EISA: Don't probe EISA bus for Xen PV guests

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>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: hpa@zytor.com
Cc: xen-devel@lists.xenproject.org
Cc: jgross@suse.com
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20180911195538.23289-1-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..e8c8c5d78dbd 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;

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

* [PATCH] x86/EISA: Don't probe EISA bus for Xen PV guests
@ 2018-09-11 19:55 Boris Ostrovsky
  0 siblings, 0 replies; 7+ messages in thread
From: Boris Ostrovsky @ 2018-09-11 19:55 UTC (permalink / raw)
  To: tglx, mingo, hpa
  Cc: jgross, x86, linux-kernel, andy, xen-devel, 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


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

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

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

Thread overview: 7+ 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:20 ` Thomas Gleixner
2018-09-11 20:30   ` Boris Ostrovsky
2018-09-11 20:30   ` Boris Ostrovsky
2018-09-11 21:39 ` [tip:x86/urgent] " tip-bot for Boris Ostrovsky
  -- strict thread matches above, loose matches on Subject: below --
2018-09-11 19:55 [PATCH] " Boris Ostrovsky

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.