diff options
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/process.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 566d0d71a1e7..1e6c33d01c05 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c | |||
@@ -426,6 +426,7 @@ unsigned long arch_randomize_brk(struct mm_struct *mm) | |||
426 | } | 426 | } |
427 | 427 | ||
428 | #ifdef CONFIG_MMU | 428 | #ifdef CONFIG_MMU |
429 | #ifdef CONFIG_KUSER_HELPERS | ||
429 | /* | 430 | /* |
430 | * The vectors page is always readable from user space for the | 431 | * The vectors page is always readable from user space for the |
431 | * atomic helpers. Insert it into the gate_vma so that it is visible | 432 | * atomic helpers. Insert it into the gate_vma so that it is visible |
@@ -458,10 +459,14 @@ int in_gate_area_no_mm(unsigned long addr) | |||
458 | { | 459 | { |
459 | return in_gate_area(NULL, addr); | 460 | return in_gate_area(NULL, addr); |
460 | } | 461 | } |
462 | #define is_gate_vma(vma) ((vma) = &gate_vma) | ||
463 | #else | ||
464 | #define is_gate_vma(vma) 0 | ||
465 | #endif | ||
461 | 466 | ||
462 | const char *arch_vma_name(struct vm_area_struct *vma) | 467 | const char *arch_vma_name(struct vm_area_struct *vma) |
463 | { | 468 | { |
464 | return (vma == &gate_vma) ? "[vectors]" : | 469 | return is_gate_vma(vma) ? "[vectors]" : |
465 | (vma->vm_mm && vma->vm_start == vma->vm_mm->context.sigpage) ? | 470 | (vma->vm_mm && vma->vm_start == vma->vm_mm->context.sigpage) ? |
466 | "[sigpage]" : NULL; | 471 | "[sigpage]" : NULL; |
467 | } | 472 | } |