git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Pull cpuidle into release branch
[pandora-kernel.git]
/
arch
/
m68k
/
mm
/
fault.c
diff --git
a/arch/m68k/mm/fault.c
b/arch/m68k/mm/fault.c
index
2adbeb1
..
f493f03
100644
(file)
--- a/
arch/m68k/mm/fault.c
+++ b/
arch/m68k/mm/fault.c
@@
-159,18
+159,17
@@
good_area:
#ifdef DEBUG
printk("handle_mm_fault returns %d\n",fault);
#endif
#ifdef DEBUG
printk("handle_mm_fault returns %d\n",fault);
#endif
- switch (fault) {
- case VM_FAULT_MINOR:
- current->min_flt++;
- break;
- case VM_FAULT_MAJOR:
- current->maj_flt++;
- break;
- case VM_FAULT_SIGBUS:
- goto bus_err;
- default:
- goto out_of_memory;
+ if (unlikely(fault & VM_FAULT_ERROR)) {
+ if (fault & VM_FAULT_OOM)
+ goto out_of_memory;
+ else if (fault & VM_FAULT_SIGBUS)
+ goto bus_err;
+ BUG();
}
}
+ if (fault & VM_FAULT_MAJOR)
+ current->maj_flt++;
+ else
+ current->min_flt++;
up_read(&mm->mmap_sem);
return 0;
up_read(&mm->mmap_sem);
return 0;
@@
-181,7
+180,7
@@
good_area:
*/
out_of_memory:
up_read(&mm->mmap_sem);
*/
out_of_memory:
up_read(&mm->mmap_sem);
- if (is_init(current)) {
+ if (is_
global_
init(current)) {
yield();
down_read(&mm->mmap_sem);
goto survive;
yield();
down_read(&mm->mmap_sem);
goto survive;
@@
-189,7
+188,7
@@
out_of_memory:
printk("VM: killing process %s\n", current->comm);
if (user_mode(regs))
printk("VM: killing process %s\n", current->comm);
if (user_mode(regs))
- do_exit(SIGKILL);
+ do_
group_
exit(SIGKILL);
no_context:
current->thread.signo = SIGBUS;
no_context:
current->thread.signo = SIGBUS;