summaryrefslogtreecommitdiffstats
path: root/mm/memory.c
diff options
context:
space:
mode:
authorJohannes Weiner2013-09-13 00:13:40 +0200
committerLinus Torvalds2013-09-13 00:38:01 +0200
commit3a13c4d761b4b979ba8767f42345fed3274991b0 (patch)
tree9f6f0b09875b6b510720bea2c2a0ac1fd6878f67 /mm/memory.c
parentarch: mm: pass userspace fault flag to generic fault handler (diff)
downloadkernel-qcow2-linux-3a13c4d761b4b979ba8767f42345fed3274991b0.tar.gz
kernel-qcow2-linux-3a13c4d761b4b979ba8767f42345fed3274991b0.tar.xz
kernel-qcow2-linux-3a13c4d761b4b979ba8767f42345fed3274991b0.zip
x86: finish user fault error path with fatal signal
The x86 fault handler bails in the middle of error handling when the task has a fatal signal pending. For a subsequent patch this is a problem in OOM situations because it relies on pagefault_out_of_memory() being called even when the task has been killed, to perform proper per-task OOM state unwinding. Shortcutting the fault like this is a rather minor optimization that saves a few instructions in rare cases. Just remove it for user-triggered faults. Use the opportunity to split the fault retry handling from actual fault errors and add locking documentation that reads suprisingly similar to ARM's. Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Reviewed-by: Michal Hocko <mhocko@suse.cz> Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: David Rientjes <rientjes@google.com> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: azurIt <azurit@pobox.sk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memory.c')
0 files changed, 0 insertions, 0 deletions