]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: Fix bad pmd error with book3E config
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Wed, 19 Jun 2013 06:34:26 +0000 (12:04 +0530)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 20 Jun 2013 05:25:21 +0000 (15:25 +1000)
commite59c9888e32efa1e3b02571dc49302d65c398107
tree11ffc9d94892c617433e70bd64c977071edec0c2
parent6070d7e717286fe56408843c46bbe63da46e7668
powerpc: Fix bad pmd error with book3E config

Book3E uses the hugepd at PMD level and don't encode pte directly
at the pmd level. So it will find the lower bits of pmd set
and the pmd_bad check throws error. Infact the current code
will never take the free_hugepd_range call at all because it will
clear the pmd if it find a hugepd pointer. Fix this by clearing
bad pmd only if it is not a hugepd pointer.

This is regression introduced by d067be3cb6d425347193c7c84a383fbecc4abc91
"powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format"

Reported-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/mm/hugetlbpage.c