All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86/gart: Rewrite early_gart_iommu_check() comment
@ 2018-11-01 15:53 Borislav Petkov
  2018-11-01 17:09 ` Thomas Gleixner
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Borislav Petkov @ 2018-11-01 15:53 UTC (permalink / raw)
  To: X86 ML; +Cc: Mike Rapoport, LKML

From: Borislav Petkov <bp@suse.de>

... to actually explain what the function is trying to do.

Reported-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
---
 arch/x86/kernel/aperture_64.c | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c
index 2c4d5ece7456..4fb4b7f53568 100644
--- a/arch/x86/kernel/aperture_64.c
+++ b/arch/x86/kernel/aperture_64.c
@@ -264,18 +264,23 @@ static int __init parse_gart_mem(char *p)
 }
 early_param("gart_fix_e820", parse_gart_mem);
 
+/*
+ * With kexec/kdump, if the first kernel doesn't shutdown the GART and the
+ * second kernel allocates a different GART region, there might be two
+ * overlapping GART regions present:
+ *
+ * - the first still used by the GART initialized in the first kernel.
+ * - (sub-)set of it used as normal RAM by the second kernel.
+ *
+ * which leads to memory corruptions and a kernel panic eventually.
+ *
+ * This can also happen if the BIOS has forgotten to mark the GART region
+ * as reserved.
+ *
+ * Try to update the e820 map to mark that new region as reserved.
+ */
 void __init early_gart_iommu_check(void)
 {
-	/*
-	 * in case it is enabled before, esp for kexec/kdump,
-	 * previous kernel already enable that. memset called
-	 * by allocate_aperture/__alloc_bootmem_nopanic cause restart.
-	 * or second kernel have different position for GART hole. and new
-	 * kernel could use hole as RAM that is still used by GART set by
-	 * first kernel
-	 * or BIOS forget to put that in reserved.
-	 * try to update e820 to make that region as reserved.
-	 */
 	u32 agp_aper_order = 0;
 	int i, fix, slot, valid_agp = 0;
 	u32 ctl;
-- 
2.19.1


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

end of thread, other threads:[~2018-11-05 20:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-01 15:53 [PATCH] x86/gart: Rewrite early_gart_iommu_check() comment Borislav Petkov
2018-11-01 17:09 ` Thomas Gleixner
2018-11-05 13:39 ` [tip:x86/cleanups] " tip-bot for Borislav Petkov
2018-11-05 15:35 ` [PATCH] " Ingo Molnar
2018-11-05 20:20   ` Borislav Petkov
2018-11-05 20:24 ` [tip:x86/cleanups] " tip-bot for Borislav Petkov

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.