git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
arch
/
sparc64
/
kernel
/
setup.c
diff --git
a/arch/sparc64/kernel/setup.c
b/arch/sparc64/kernel/setup.c
index
51e762b
..
0c9ce2b
100644
(file)
--- a/
arch/sparc64/kernel/setup.c
+++ b/
arch/sparc64/kernel/setup.c
@@
-151,6
+151,7
@@
int prom_callback(long *args)
struct task_struct *p;
struct mm_struct *mm = NULL;
pgd_t *pgdp;
struct task_struct *p;
struct mm_struct *mm = NULL;
pgd_t *pgdp;
+ pud_t *pudp;
pmd_t *pmdp;
pte_t *ptep;
pmd_t *pmdp;
pte_t *ptep;
@@
-166,7
+167,10
@@
int prom_callback(long *args)
pgdp = pgd_offset(mm, va);
if (pgd_none(*pgdp))
goto done;
pgdp = pgd_offset(mm, va);
if (pgd_none(*pgdp))
goto done;
- pmdp = pmd_offset(pgdp, va);
+ pudp = pud_offset(pgdp, va);
+ if (pud_none(*pudp))
+ goto done;
+ pmdp = pmd_offset(pudp, va);
if (pmd_none(*pmdp))
goto done;
if (pmd_none(*pmdp))
goto done;
@@
-208,6
+212,7
@@
int prom_callback(long *args)
* vmalloc or prom_inherited mapping.
*/
pgd_t *pgdp;
* vmalloc or prom_inherited mapping.
*/
pgd_t *pgdp;
+ pud_t *pudp;
pmd_t *pmdp;
pte_t *ptep;
int error;
pmd_t *pmdp;
pte_t *ptep;
int error;
@@
-221,7
+226,10
@@
int prom_callback(long *args)
pgdp = pgd_offset_k(va);
if (pgd_none(*pgdp))
goto done;
pgdp = pgd_offset_k(va);
if (pgd_none(*pgdp))
goto done;
- pmdp = pmd_offset(pgdp, va);
+ pudp = pud_offset(pgdp, va);
+ if (pud_none(*pudp))
+ goto done;
+ pmdp = pmd_offset(pudp, va);
if (pmd_none(*pmdp))
goto done;
if (pmd_none(*pmdp))
goto done;