fault.c (8a2094d679d921d104d3296528d4fa419702ce1c) fault.c (36ef159f4408b08eae7f2af6d62bedd3f4343758)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * OpenRISC fault.c
4 *
5 * Linux architectural port borrowing liberally from similar works of
6 * others. All original copyrights apply as per the original source
7 * declaration.
8 *

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

172 goto out_of_memory;
173 else if (fault & VM_FAULT_SIGSEGV)
174 goto bad_area;
175 else if (fault & VM_FAULT_SIGBUS)
176 goto do_sigbus;
177 BUG();
178 }
179
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * OpenRISC fault.c
4 *
5 * Linux architectural port borrowing liberally from similar works of
6 * others. All original copyrights apply as per the original source
7 * declaration.
8 *

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

172 goto out_of_memory;
173 else if (fault & VM_FAULT_SIGSEGV)
174 goto bad_area;
175 else if (fault & VM_FAULT_SIGBUS)
176 goto do_sigbus;
177 BUG();
178 }
179
180 if (flags & FAULT_FLAG_ALLOW_RETRY) {
181 /*RGD modeled on Cris */
182 if (fault & VM_FAULT_RETRY) {
183 flags |= FAULT_FLAG_TRIED;
180 /*RGD modeled on Cris */
181 if (fault & VM_FAULT_RETRY) {
182 flags |= FAULT_FLAG_TRIED;
184
183
185 /* No need to mmap_read_unlock(mm) as we would
186 * have already released it in __lock_page_or_retry
187 * in mm/filemap.c.
188 */
184 /* No need to mmap_read_unlock(mm) as we would
185 * have already released it in __lock_page_or_retry
186 * in mm/filemap.c.
187 */
189
188
190 goto retry;
191 }
189 goto retry;
192 }
193
194 mmap_read_unlock(mm);
195 return;
196
197 /*
198 * Something tried to access memory that isn't in our memory map..
199 * Fix it, but check if it's kernel or user first..

--- 153 unchanged lines hidden ---
190 }
191
192 mmap_read_unlock(mm);
193 return;
194
195 /*
196 * Something tried to access memory that isn't in our memory map..
197 * Fix it, but check if it's kernel or user first..

--- 153 unchanged lines hidden ---