From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Thu, 4 Aug 2005 17:00:53 +0200 From: Alexander Nyberg Subject: Re: [patch 2.6.13-rc4] fix get_user_pages bug Message-ID: <20050804150053.GA1346@localhost.localdomain> References: <42F09B41.3050409@yahoo.com.au> <20050804141457.GA1178@localhost.localdomain> <42F2266F.30008@yahoo.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <42F2266F.30008@yahoo.com.au> Sender: owner-linux-mm@kvack.org Return-Path: To: Nick Piggin Cc: Linus Torvalds , Hugh Dickins , Martin Schwidefsky , Andrew Morton , Robin Holt , linux-kernel , linux-mm@kvack.org, Ingo Molnar , Roland McGrath , Andi Kleen List-ID: > > > >x86_64 had hardcoded the VM_ numbers so it broke down when the numbers > >were changed. > > > > Ugh, sorry I should have audited this but I really wasn't expecting > it (famous last words). Hasn't been a good week for me. Hardcoding is evil so it's good it gets cleaned up anyway. > parisc, cris, m68k, frv, sh64, arm26 are also broken. > Would you mind resending a patch that fixes them all? > Remove the hardcoding in return value checking of handle_mm_fault() Signed-off-by: Alexander Nyberg arm26/mm/fault.c | 6 +++--- cris/mm/fault.c | 6 +++--- frv/mm/fault.c | 6 +++--- m68k/mm/fault.c | 6 +++--- parisc/mm/fault.c | 6 +++--- sh64/mm/fault.c | 6 +++--- x86_64/mm/fault.c | 6 +++--- 7 files changed, 21 insertions(+), 21 deletions(-) Index: linux-2.6/arch/x86_64/mm/fault.c =================================================================== --- linux-2.6.orig/arch/x86_64/mm/fault.c 2005-07-31 18:10:20.000000000 +0200 +++ linux-2.6/arch/x86_64/mm/fault.c 2005-08-04 16:04:59.000000000 +0200 @@ -439,13 +439,13 @@ * the fault. */ switch (handle_mm_fault(mm, vma, address, write)) { - 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; Index: linux-2.6/arch/cris/mm/fault.c =================================================================== --- linux-2.6.orig/arch/cris/mm/fault.c 2005-07-31 18:10:02.000000000 +0200 +++ linux-2.6/arch/cris/mm/fault.c 2005-08-04 16:40:56.000000000 +0200 @@ -284,13 +284,13 @@ */ 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; Index: linux-2.6/arch/m68k/mm/fault.c =================================================================== --- linux-2.6.orig/arch/m68k/mm/fault.c 2005-07-31 18:10:05.000000000 +0200 +++ linux-2.6/arch/m68k/mm/fault.c 2005-08-04 16:42:05.000000000 +0200 @@ -160,13 +160,13 @@ 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; Index: linux-2.6/arch/parisc/mm/fault.c =================================================================== --- linux-2.6.orig/arch/parisc/mm/fault.c 2005-07-31 18:10:11.000000000 +0200 +++ linux-2.6/arch/parisc/mm/fault.c 2005-08-04 16:41:18.000000000 +0200 @@ -178,13 +178,13 @@ */ 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 Index: linux-2.6/arch/arm26/mm/fault.c =================================================================== --- linux-2.6.orig/arch/arm26/mm/fault.c 2005-07-31 18:10:00.000000000 +0200 +++ linux-2.6/arch/arm26/mm/fault.c 2005-08-04 16:46:18.000000000 +0200 @@ -176,12 +176,12 @@ * 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; } Index: linux-2.6/arch/frv/mm/fault.c =================================================================== --- linux-2.6.orig/arch/frv/mm/fault.c 2005-07-31 18:10:03.000000000 +0200 +++ linux-2.6/arch/frv/mm/fault.c 2005-08-04 16:44:02.000000000 +0200 @@ -163,13 +163,13 @@ * 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; Index: linux-2.6/arch/sh64/mm/fault.c =================================================================== --- linux-2.6.orig/arch/sh64/mm/fault.c 2005-07-31 18:10:16.000000000 +0200 +++ linux-2.6/arch/sh64/mm/fault.c 2005-08-04 16:44:58.000000000 +0200 @@ -223,13 +223,13 @@ */ survive: switch (handle_mm_fault(mm, vma, address, writeaccess)) { - 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; -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org