ppc64: Fix typo bug in iSeries hash code

David Gibson david at gibson.dropbear.id.au
Fri Oct 21 13:41:19 EST 2005


Linus, please apply for 2.6.14 - this one-liner fixes a serious bug.

This patch fixes a stupid typo bug in the iSeries hash table code.
When we place a hash PTE in the secondary bucket, instead of setting
the SECONDARY flag bit, as we should, we (redundantly) set the VALID
flag.  This was introduced with the patch abolishing bitfields from
the hash table code.  Mea culpa, oops.  It hasn't been noticed until
now because in practice we don't hit the secondary bucket terribly
often.

Signed-off-by: David Gibson <dwg at au1.ibm.com>

Index: working-2.6/arch/ppc64/kernel/iSeries_htab.c
===================================================================
--- working-2.6.orig/arch/ppc64/kernel/iSeries_htab.c	2005-10-21 13:29:50.000000000 +1000
+++ working-2.6/arch/ppc64/kernel/iSeries_htab.c	2005-10-21 13:30:55.000000000 +1000
@@ -66,7 +66,7 @@
 	}
 
 	if (slot < 0) {		/* MSB set means secondary group */
-		vflags |= HPTE_V_VALID;
+		vflags |= HPTE_V_SECONDARY;
 		secondary = 1;
 		slot &= 0x7fffffffffffffff;
 	}


-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/people/dgibson



More information about the Linuxppc64-dev mailing list