diff options
Diffstat (limited to 'arch/s390/mm/vmem.c')
-rw-r--r-- | arch/s390/mm/vmem.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c index 35d90a4720fd..3ffc0211dc85 100644 --- a/arch/s390/mm/vmem.c +++ b/arch/s390/mm/vmem.c | |||
@@ -77,8 +77,7 @@ static inline pud_t *vmem_pud_alloc(void) | |||
77 | pud = vmem_alloc_pages(2); | 77 | pud = vmem_alloc_pages(2); |
78 | if (!pud) | 78 | if (!pud) |
79 | return NULL; | 79 | return NULL; |
80 | pud_val(*pud) = _REGION3_ENTRY_EMPTY; | 80 | clear_table((unsigned long *) pud, _REGION3_ENTRY_EMPTY, PAGE_SIZE * 4); |
81 | memcpy(pud + 1, pud, (PTRS_PER_PUD - 1)*sizeof(pud_t)); | ||
82 | #endif | 81 | #endif |
83 | return pud; | 82 | return pud; |
84 | } | 83 | } |
@@ -91,7 +90,7 @@ static inline pmd_t *vmem_pmd_alloc(void) | |||
91 | pmd = vmem_alloc_pages(2); | 90 | pmd = vmem_alloc_pages(2); |
92 | if (!pmd) | 91 | if (!pmd) |
93 | return NULL; | 92 | return NULL; |
94 | clear_table((unsigned long *) pmd, _SEGMENT_ENTRY_EMPTY, PAGE_SIZE*4); | 93 | clear_table((unsigned long *) pmd, _SEGMENT_ENTRY_EMPTY, PAGE_SIZE * 4); |
95 | #endif | 94 | #endif |
96 | return pmd; | 95 | return pmd; |
97 | } | 96 | } |