fault.c (8a2094d679d921d104d3296528d4fa419702ce1c) fault.c (36ef159f4408b08eae7f2af6d62bedd3f4343758)
1// TODO VM_EXEC flag work-around, cache aliasing
2/*
3 * arch/xtensa/mm/fault.c
4 *
5 * This file is subject to the terms and conditions of the GNU General Public
6 * License. See the file "COPYING" in the main directory of this archive
7 * for more details.
8 *

--- 113 unchanged lines hidden (view full) ---

122 if (fault & VM_FAULT_OOM)
123 goto out_of_memory;
124 else if (fault & VM_FAULT_SIGSEGV)
125 goto bad_area;
126 else if (fault & VM_FAULT_SIGBUS)
127 goto do_sigbus;
128 BUG();
129 }
1// TODO VM_EXEC flag work-around, cache aliasing
2/*
3 * arch/xtensa/mm/fault.c
4 *
5 * This file is subject to the terms and conditions of the GNU General Public
6 * License. See the file "COPYING" in the main directory of this archive
7 * for more details.
8 *

--- 113 unchanged lines hidden (view full) ---

122 if (fault & VM_FAULT_OOM)
123 goto out_of_memory;
124 else if (fault & VM_FAULT_SIGSEGV)
125 goto bad_area;
126 else if (fault & VM_FAULT_SIGBUS)
127 goto do_sigbus;
128 BUG();
129 }
130 if (flags & FAULT_FLAG_ALLOW_RETRY) {
131 if (fault & VM_FAULT_RETRY) {
132 flags |= FAULT_FLAG_TRIED;
133
130
134 /* No need to mmap_read_unlock(mm) as we would
135 * have already released it in __lock_page_or_retry
136 * in mm/filemap.c.
137 */
131 if (fault & VM_FAULT_RETRY) {
132 flags |= FAULT_FLAG_TRIED;
138
133
139 goto retry;
140 }
134 /* No need to mmap_read_unlock(mm) as we would
135 * have already released it in __lock_page_or_retry
136 * in mm/filemap.c.
137 */
138
139 goto retry;
141 }
142
143 mmap_read_unlock(mm);
144 return;
145
146 /* Something tried to access memory that isn't in our memory map..
147 * Fix it, but check if it's kernel or user first..
148 */

--- 112 unchanged lines hidden ---
140 }
141
142 mmap_read_unlock(mm);
143 return;
144
145 /* Something tried to access memory that isn't in our memory map..
146 * Fix it, but check if it's kernel or user first..
147 */

--- 112 unchanged lines hidden ---