Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e346228 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

It wasn't just x86-64 that had hardcoded VM_FAULT_xxx numbers

Fix up arm26, cris, frv, m68k, parisc and sh64 too..
parent 96800216
Loading
Loading
Loading
Loading
+7 −10
Original line number Diff line number Diff line
@@ -176,12 +176,12 @@ __do_page_fault(struct mm_struct *mm, unsigned long addr, unsigned int fsr,
	 * Handle the "normal" cases first - successful and sigbus
	 */
	switch (fault) {
	case 2:
	case VM_FAULT_MAJOR:
		tsk->maj_flt++;
		return fault;
	case 1:
	case VM_FAULT_MINOR:
		tsk->min_flt++;
	case 0:
	case VM_FAULT_SIGBUS:
		return fault;
	}

@@ -226,14 +226,11 @@ int do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
	/*
	 * Handle the "normal" case first
	 */
	if (fault > 0)
	switch (fault) {
	case VM_FAULT_MINOR:
	case VM_FAULT_MAJOR:
		return 0;

	/*
	 * We had some memory, but were unable to
	 * successfully fix up this page fault.
	 */
	if (fault == 0){
	case VM_FAULT_SIGBUS:
		goto do_sigbus;
	}

+3 −3
Original line number Diff line number Diff line
@@ -284,13 +284,13 @@ do_page_fault(unsigned long address, struct pt_regs *regs,
	 */

	switch (handle_mm_fault(mm, vma, address, writeaccess & 1)) {
	case 1:
	case VM_FAULT_MINOR:
		tsk->min_flt++;
		break;
	case 2:
	case VM_FAULT_MAJOR:
		tsk->maj_flt++;
		break;
	case 0:
	case VM_FAULT_SIGBUS:
		goto do_sigbus;
	default:
		goto out_of_memory;
+3 −3
Original line number Diff line number Diff line
@@ -163,13 +163,13 @@ asmlinkage void do_page_fault(int datammu, unsigned long esr0, unsigned long ear
	 * the fault.
	 */
	switch (handle_mm_fault(mm, vma, ear0, write)) {
	case 1:
	case VM_FAULT_MINOR:
		current->min_flt++;
		break;
	case 2:
	case VM_FAULT_MAJOR:
		current->maj_flt++;
		break;
	case 0:
	case VM_FAULT_SIGBUS:
		goto do_sigbus;
	default:
		goto out_of_memory;
+3 −3
Original line number Diff line number Diff line
@@ -160,13 +160,13 @@ int do_page_fault(struct pt_regs *regs, unsigned long address,
	printk("handle_mm_fault returns %d\n",fault);
#endif
	switch (fault) {
	case 1:
	case VM_FAULT_MINOR:
		current->min_flt++;
		break;
	case 2:
	case VM_FAULT_MAJOR:
		current->maj_flt++;
		break;
	case 0:
	case VM_FAULT_SIGBUS:
		goto bus_err;
	default:
		goto out_of_memory;
+6 −6
Original line number Diff line number Diff line
@@ -178,17 +178,17 @@ void do_page_fault(struct pt_regs *regs, unsigned long code,
	 */

	switch (handle_mm_fault(mm, vma, address, (acc_type & VM_WRITE) != 0)) {
	      case 1:
	      case VM_FAULT_MINOR:
		++current->min_flt;
		break;
	      case 2:
	      case VM_FAULT_MAJOR:
		++current->maj_flt;
		break;
	      case 0:
	      case VM_FAULT_SIGBUS:
		/*
		 * We ran out of memory, or some other thing happened
		 * to us that made us unable to handle the page fault
		 * gracefully.
		 * We hit a hared mapping outside of the file, or some
		 * other thing happened to us that made us unable to
		 * handle the page fault gracefully.
		 */
		goto bad_area;
	      default:
Loading