aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/mm/dump_linuxpagetables.c
diff options
context:
space:
mode:
authorBrian Norris <computersforpeace@gmail.com>2017-06-01 13:53:55 -0400
committerBrian Norris <computersforpeace@gmail.com>2017-06-01 13:53:55 -0400
commit05e97a9eda72d58dba293857df6aac62584ef99a (patch)
treee86e692f26d4879ff2210c54722e2b7780210249 /arch/powerpc/mm/dump_linuxpagetables.c
parent2ea659a9ef488125eb46da6eb571de5eae5c43f6 (diff)
parentd4ed3b9015b5eebc90d629579d9e7944607cbae5 (diff)
Merge tag 'nand/fixes-for-4.12-rc3' of git://git.infradead.org/linux-mtd into MTD
From Boris: """ This pull request contains several fixes to the core and the tango driver. tango fixes: * Add missing MODULE_DEVICE_TABLE() in tango_nand.c * Update the number of corrected bitflips core fixes: * Fix a long standing memory leak in nand_scan_tail() * Fix several bugs introduced by the per-vendor init/detection infrastructure (introduced in 4.12) * Add a static specifier to nand_ooblayout_lp_hamming_ops definition """
Diffstat (limited to 'arch/powerpc/mm/dump_linuxpagetables.c')
-rw-r--r--arch/powerpc/mm/dump_linuxpagetables.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/powerpc/mm/dump_linuxpagetables.c b/arch/powerpc/mm/dump_linuxpagetables.c
index d659345a98d6..44fe4833910f 100644
--- a/arch/powerpc/mm/dump_linuxpagetables.c
+++ b/arch/powerpc/mm/dump_linuxpagetables.c
@@ -16,6 +16,7 @@
16 */ 16 */
17#include <linux/debugfs.h> 17#include <linux/debugfs.h>
18#include <linux/fs.h> 18#include <linux/fs.h>
19#include <linux/hugetlb.h>
19#include <linux/io.h> 20#include <linux/io.h>
20#include <linux/mm.h> 21#include <linux/mm.h>
21#include <linux/sched.h> 22#include <linux/sched.h>
@@ -391,7 +392,7 @@ static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start)
391 392
392 for (i = 0; i < PTRS_PER_PMD; i++, pmd++) { 393 for (i = 0; i < PTRS_PER_PMD; i++, pmd++) {
393 addr = start + i * PMD_SIZE; 394 addr = start + i * PMD_SIZE;
394 if (!pmd_none(*pmd)) 395 if (!pmd_none(*pmd) && !pmd_huge(*pmd))
395 /* pmd exists */ 396 /* pmd exists */
396 walk_pte(st, pmd, addr); 397 walk_pte(st, pmd, addr);
397 else 398 else
@@ -407,7 +408,7 @@ static void walk_pud(struct pg_state *st, pgd_t *pgd, unsigned long start)
407 408
408 for (i = 0; i < PTRS_PER_PUD; i++, pud++) { 409 for (i = 0; i < PTRS_PER_PUD; i++, pud++) {
409 addr = start + i * PUD_SIZE; 410 addr = start + i * PUD_SIZE;
410 if (!pud_none(*pud)) 411 if (!pud_none(*pud) && !pud_huge(*pud))
411 /* pud exists */ 412 /* pud exists */
412 walk_pmd(st, pud, addr); 413 walk_pmd(st, pud, addr);
413 else 414 else
@@ -427,7 +428,7 @@ static void walk_pagetables(struct pg_state *st)
427 */ 428 */
428 for (i = 0; i < PTRS_PER_PGD; i++, pgd++) { 429 for (i = 0; i < PTRS_PER_PGD; i++, pgd++) {
429 addr = KERN_VIRT_START + i * PGDIR_SIZE; 430 addr = KERN_VIRT_START + i * PGDIR_SIZE;
430 if (!pgd_none(*pgd)) 431 if (!pgd_none(*pgd) && !pgd_huge(*pgd))
431 /* pgd exists */ 432 /* pgd exists */
432 walk_pud(st, pgd, addr); 433 walk_pud(st, pgd, addr);
433 else 434 else