[kernel] r8564 - in dists/etch/linux-2.6/debian: . patches/bugfix patches/series

Dann Frazier dannf at alioth.debian.org
Fri May 4 21:26:07 UTC 2007


Author: dannf
Date: Fri May  4 21:26:06 2007
New Revision: 8564

Added:
   dists/etch/linux-2.6/debian/patches/bugfix/amd64-make-gart-ptes-uncacheable.patch
Modified:
   dists/etch/linux-2.6/debian/changelog
   dists/etch/linux-2.6/debian/patches/series/13
Log:
* bugfix/amd64-make-gart-ptes-uncacheable.patch
  Fix silent data corruption using GART iommu (closes: #404148)

Modified: dists/etch/linux-2.6/debian/changelog
==============================================================================
--- dists/etch/linux-2.6/debian/changelog	(original)
+++ dists/etch/linux-2.6/debian/changelog	Fri May  4 21:26:06 2007
@@ -25,6 +25,8 @@
     See CVE-2007-2242
   * Fix an oops which potentially results in data corruption in the gdth driver.
     (closes: #412092)
+  * bugfix/amd64-make-gart-ptes-uncacheable.patch
+    Fix silent data corruption using GART iommu (closes: #404148)
 
   [ maximilian attems ]
   * Backport support for i965 to agp too. (closes: #406111)
@@ -34,7 +36,7 @@
   [ Martin Michlmayr ]
   * Fix wrong checksum for split TCP packets on 64-bit MIPS. (closes: #421283)
 
- -- dann frazier <dannf at debian.org>  Tue, 01 May 2007 19:11:48 -0600
+ -- dann frazier <dannf at debian.org>  Fri, 04 May 2007 15:21:07 -0600
 
 linux-2.6 (2.6.18.dfsg.1-12etch2) stable-security; urgency=high
 

Added: dists/etch/linux-2.6/debian/patches/bugfix/amd64-make-gart-ptes-uncacheable.patch
==============================================================================
--- (empty file)
+++ dists/etch/linux-2.6/debian/patches/bugfix/amd64-make-gart-ptes-uncacheable.patch	Fri May  4 21:26:06 2007
@@ -0,0 +1,34 @@
+From: Joachim Deguara <joachim.deguara at amd.com>
+Date: Tue, 24 Apr 2007 11:05:36 +0000 (+0200)
+Subject: [PATCH] x86-64: make GART PTEs uncacheable
+X-Git-Tag: v2.6.21~9^2~3
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=cf6387daf8858bdcb3e123034ca422e8979d73f1
+
+[PATCH] x86-64: make GART PTEs uncacheable
+
+This patches fixes the silent data corruption problems being seen using the
+GART iommu where 4kB of data where incorrect (seen mostly on Nvidia CK804
+systems).  This fix, to mark the memory regin the GART PTEs reside on as
+uncacheable, also brings the code in line with the AGP specification.
+
+Signed-off-by: Joachim Deguara <joachim.deguara at amd.com>
+Signed-off-by: Andi Kleen <ak at suse.de>
+---
+
+diff --git a/arch/x86_64/kernel/pci-gart.c b/arch/x86_64/kernel/pci-gart.c
+index 2bac8c6..0bae862 100644
+--- a/arch/x86_64/kernel/pci-gart.c
++++ b/arch/x86_64/kernel/pci-gart.c
+@@ -519,7 +519,11 @@ static __init int init_k8_gatt(struct agp_kern_info *info)
+ 	gatt_size = (aper_size >> PAGE_SHIFT) * sizeof(u32); 
+ 	gatt = (void *)__get_free_pages(GFP_KERNEL, get_order(gatt_size)); 
+ 	if (!gatt) 
+-		panic("Cannot allocate GATT table"); 
++		panic("Cannot allocate GATT table");
++	if (change_page_attr_addr((unsigned long)gatt, gatt_size >> PAGE_SHIFT, PAGE_KERNEL_NOCACHE))
++		panic("Could not set GART PTEs to uncacheable pages");
++	global_flush_tlb();
++
+ 	memset(gatt, 0, gatt_size); 
+ 	agp_gatt_table = gatt;
+ 

Modified: dists/etch/linux-2.6/debian/patches/series/13
==============================================================================
--- dists/etch/linux-2.6/debian/patches/series/13	(original)
+++ dists/etch/linux-2.6/debian/patches/series/13	Fri May  4 21:26:06 2007
@@ -5,3 +5,4 @@
 + bugfix/jmicron-generic-device-conflict.patch
 + bugfix/ipv6-disallow-RH0-by-default.patch
 + bugfix/gdth_copy_cmd-oops-fix.patch
++ bugfix/amd64-make-gart-ptes-uncacheable.patch



More information about the Kernel-svn-changes mailing list