diff options
Diffstat (limited to 'arch/s390/mm/vmem.c')
-rw-r--r-- | arch/s390/mm/vmem.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c index beccacf907f3..e4868bfc672f 100644 --- a/arch/s390/mm/vmem.c +++ b/arch/s390/mm/vmem.c | |||
@@ -60,7 +60,7 @@ static inline pmd_t *vmem_pmd_alloc(void) | |||
60 | return pmd; | 60 | return pmd; |
61 | } | 61 | } |
62 | 62 | ||
63 | static pte_t __init_refok *vmem_pte_alloc(void) | 63 | static pte_t __ref *vmem_pte_alloc(void) |
64 | { | 64 | { |
65 | pte_t *pte; | 65 | pte_t *pte; |
66 | 66 | ||
@@ -221,6 +221,7 @@ int __meminit vmemmap_populate(struct page *start, unsigned long nr, int node) | |||
221 | *pt_dir = pte; | 221 | *pt_dir = pte; |
222 | } | 222 | } |
223 | } | 223 | } |
224 | memset(start, 0, nr * sizeof(struct page)); | ||
224 | ret = 0; | 225 | ret = 0; |
225 | out: | 226 | out: |
226 | flush_tlb_kernel_range(start_addr, end_addr); | 227 | flush_tlb_kernel_range(start_addr, end_addr); |
@@ -235,7 +236,7 @@ static int insert_memory_segment(struct memory_segment *seg) | |||
235 | { | 236 | { |
236 | struct memory_segment *tmp; | 237 | struct memory_segment *tmp; |
237 | 238 | ||
238 | if (seg->start + seg->size >= VMEM_MAX_PHYS || | 239 | if (seg->start + seg->size > VMEM_MAX_PHYS || |
239 | seg->start + seg->size < seg->start) | 240 | seg->start + seg->size < seg->start) |
240 | return -ERANGE; | 241 | return -ERANGE; |
241 | 242 | ||