diff options
Diffstat (limited to 'arch/i386/mm')
-rw-r--r-- | arch/i386/mm/fault.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/arch/i386/mm/fault.c b/arch/i386/mm/fault.c index 2f030f306..697645988 100644 --- a/arch/i386/mm/fault.c +++ b/arch/i386/mm/fault.c @@ -192,12 +192,17 @@ good_area: * make sure we exit gracefully rather than endlessly redo * the fault. */ - { - int fault = handle_mm_fault(mm, vma, address, write); - if (fault < 0) - goto out_of_memory; - if (!fault) - goto do_sigbus; + switch (handle_mm_fault(mm, vma, address, write)) { + case 1: + tsk->min_flt++; + break; + case 2: + tsk->maj_flt++; + break; + case 0: + goto do_sigbus; + default: + goto out_of_memory; } /* |