Commit 450e5b6f authored by Vineet Gupta's avatar Vineet Gupta
Browse files

ARC: mm: do_page_fault refactor #1: remove label @good_area



Invert the condition for stack expansion.
No functional change

Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent 6fbc7275
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -97,21 +97,19 @@ void do_page_fault(unsigned long address, struct pt_regs *regs)
		flags |= FAULT_FLAG_USER;
retry:
	down_read(&mm->mmap_sem);

	vma = find_vma(mm, address);
	if (!vma)
		goto bad_area;
	if (vma->vm_start <= address)
		goto good_area;
	if (!(vma->vm_flags & VM_GROWSDOWN))
		goto bad_area;
	if (expand_stack(vma, address))
	if (unlikely(address < vma->vm_start)) {
		if (!(vma->vm_flags & VM_GROWSDOWN) || expand_stack(vma, address))
			goto bad_area;
	}

	/*
	 * Ok, we have a good vm_area for this memory access, so
	 * we can handle it..
	 */
good_area:
	si_code = SEGV_ACCERR;

	/* Handle protection violation, execute on heap or stack */