All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xen/setup: add paranoid index check and warning
@ 2014-10-14  1:19 Martin Kelly
  2014-10-14  9:22 ` David Vrabel
  2014-10-14  9:22 ` David Vrabel
  0 siblings, 2 replies; 14+ messages in thread
From: Martin Kelly @ 2014-10-14  1:19 UTC (permalink / raw)
  To: xen-devel, x86, linux-kernel
  Cc: konrad.wilk, boris.ostrovsky, david.vrabel, tglx, mingo,
	Martin Kelly, Martin Kelly

In a call to set_phys_range_identity, i-1 is used without checking that
i is non-zero. Although unlikely, a bug in the code before it could
cause the value to be 0, leading to erroneous behavior. This patch adds
a check against 0 value and a corresponding warning.

Signed-off-by: Martin Kelly <martkell@amazon.com>
---
 arch/x86/xen/setup.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index af72161..26e39af 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -671,7 +671,10 @@ char * __init xen_memory_setup(void)
 	 * PFNs above MAX_P2M_PFN are considered identity mapped as
 	 * well.
 	 */
-	set_phys_range_identity(map[i-1].addr / PAGE_SIZE, ~0ul);
+	if (i > 0)
+		set_phys_range_identity(map[i-1].addr / PAGE_SIZE, ~0ul);
+	else
+		WARN(1, "Something went wrong clamping memory to a factor of EXTRA_MEM_RATIO!");
 
 	/*
 	 * In domU, the ISA region is normal, usable memory, but we
-- 
2.1.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread
* [PATCH] xen/setup: add paranoid index check and warning
@ 2014-10-14  1:19 Martin Kelly
  0 siblings, 0 replies; 14+ messages in thread
From: Martin Kelly @ 2014-10-14  1:19 UTC (permalink / raw)
  To: xen-devel, x86, linux-kernel
  Cc: Martin Kelly, mingo, david.vrabel, Martin Kelly, boris.ostrovsky,
	tglx

In a call to set_phys_range_identity, i-1 is used without checking that
i is non-zero. Although unlikely, a bug in the code before it could
cause the value to be 0, leading to erroneous behavior. This patch adds
a check against 0 value and a corresponding warning.

Signed-off-by: Martin Kelly <martkell@amazon.com>
---
 arch/x86/xen/setup.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index af72161..26e39af 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -671,7 +671,10 @@ char * __init xen_memory_setup(void)
 	 * PFNs above MAX_P2M_PFN are considered identity mapped as
 	 * well.
 	 */
-	set_phys_range_identity(map[i-1].addr / PAGE_SIZE, ~0ul);
+	if (i > 0)
+		set_phys_range_identity(map[i-1].addr / PAGE_SIZE, ~0ul);
+	else
+		WARN(1, "Something went wrong clamping memory to a factor of EXTRA_MEM_RATIO!");
 
 	/*
 	 * In domU, the ISA region is normal, usable memory, but we
-- 
2.1.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread
* [PATCH] xen/setup: add paranoid index check and warning
@ 2014-10-14  1:11 Martin Kelly
  2014-10-14  1:19 ` Martin Kelly
  0 siblings, 1 reply; 14+ messages in thread
From: Martin Kelly @ 2014-10-14  1:11 UTC (permalink / raw)
  To: xen-devel, x86
  Cc: Martin Kelly, mingo, david.vrabel, Martin Kelly, boris.ostrovsky,
	tglx

In a call to set_phys_range_identity, i-1 is used without checking that
i is non-zero. Although unlikely, a bug in the code before it could
cause the value to be 0, leading to erroneous behavior. This patch adds
a check against 0 value and a corresponding warning.

Signed-off-by: Martin Kelly <martkell@amazon.com>
---
 arch/x86/xen/setup.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index af72161..26e39af 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -671,7 +671,10 @@ char * __init xen_memory_setup(void)
 	 * PFNs above MAX_P2M_PFN are considered identity mapped as
 	 * well.
 	 */
-	set_phys_range_identity(map[i-1].addr / PAGE_SIZE, ~0ul);
+	if (i > 0)
+		set_phys_range_identity(map[i-1].addr / PAGE_SIZE, ~0ul);
+	else
+		WARN(1, "Something went wrong clamping memory to a factor of EXTRA_MEM_RATIO!");
 
 	/*
 	 * In domU, the ISA region is normal, usable memory, but we
-- 
2.1.1

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

end of thread, other threads:[~2014-10-17  3:50 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-14  1:19 [PATCH] xen/setup: add paranoid index check and warning Martin Kelly
2014-10-14  9:22 ` David Vrabel
2014-10-14  9:22 ` David Vrabel
2014-10-14 14:04   ` Martin Kelly
2014-10-14 14:04   ` Martin Kelly
2014-10-14 16:09     ` David Vrabel
2014-10-14 16:09     ` David Vrabel
2014-10-14 16:28       ` Martin Kelly
2014-10-17  3:49         ` Martin Kelly
2014-10-17  3:49         ` Martin Kelly
2014-10-14 16:28       ` Martin Kelly
  -- strict thread matches above, loose matches on Subject: below --
2014-10-14  1:19 Martin Kelly
2014-10-14  1:11 Martin Kelly
2014-10-14  1:19 ` Martin Kelly

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.