Differential Diff 27785
Diff 27785
Diff 27785
Properties
Properties
Diff 27785
Diff 27785
py-botocore/Makefile
Show First 20 Lines • Show All 211 Lines • ▼ Show 20 Lines | if ((frame->tf_scause == EXCP_FAULT_STORE) || | ||||
ftype = VM_PROT_EXECUTE; | ftype = VM_PROT_EXECUTE; | ||||
} else { | } else { | ||||
ftype = VM_PROT_READ; | ftype = VM_PROT_READ; | ||||
} | } | ||||
if (pmap_fault_fixup(map->pmap, va, ftype)) | if (pmap_fault_fixup(map->pmap, va, ftype)) | ||||
goto done; | goto done; | ||||
if (map != kernel_map) { | error = vm_fault_trap(map, va, ftype, VM_FAULT_NORMAL, &sig, &ucode); | ||||
/* | |||||
* Keep swapout from messing with us during this | |||||
* critical time. | |||||
*/ | |||||
PROC_LOCK(p); | |||||
++p->p_lock; | |||||
PROC_UNLOCK(p); | |||||
/* Fault in the user page: */ | |||||
error = vm_fault(map, va, ftype, VM_FAULT_NORMAL); | |||||
PROC_LOCK(p); | |||||
--p->p_lock; | |||||
PROC_UNLOCK(p); | |||||
} else { | |||||
/* | |||||
* Don't have to worry about process locking or stacks in the | |||||
* kernel. | |||||
*/ | |||||
error = vm_fault(map, va, ftype, VM_FAULT_NORMAL); | |||||
} | |||||
alc: I'm surprised to see this snippet brought back to life in the riscv code. We removed it from… | |||||
if (error != KERN_SUCCESS) { | if (error != KERN_SUCCESS) { | ||||
if (usermode) { | if (usermode) { | ||||
sig = SIGSEGV; | |||||
if (error == KERN_PROTECTION_FAILURE) | |||||
ucode = SEGV_ACCERR; | |||||
else | |||||
ucode = SEGV_MAPERR; | |||||
call_trapsignal(td, sig, ucode, (void *)stval); | call_trapsignal(td, sig, ucode, (void *)stval); | ||||
} else { | } else { | ||||
if (pcb->pcb_onfault != 0) { | if (pcb->pcb_onfault != 0) { | ||||
frame->tf_a[0] = error; | frame->tf_a[0] = error; | ||||
frame->tf_sepc = pcb->pcb_onfault; | frame->tf_sepc = pcb->pcb_onfault; | ||||
return; | return; | ||||
} | } | ||||
goto fatal; | goto fatal; | ||||
▲ Show 20 Lines • Show All 139 Lines • Show Last 20 Lines |
py-botocore/distinfo
Show First 20 Lines • Show All 211 Lines • ▼ Show 20 Lines | if ((frame->tf_scause == EXCP_FAULT_STORE) || | ||||
ftype = VM_PROT_EXECUTE; | ftype = VM_PROT_EXECUTE; | ||||
} else { | } else { | ||||
ftype = VM_PROT_READ; | ftype = VM_PROT_READ; | ||||
} | } | ||||
if (pmap_fault_fixup(map->pmap, va, ftype)) | if (pmap_fault_fixup(map->pmap, va, ftype)) | ||||
goto done; | goto done; | ||||
if (map != kernel_map) { | error = vm_fault_trap(map, va, ftype, VM_FAULT_NORMAL, &sig, &ucode); | ||||
/* | |||||
* Keep swapout from messing with us during this | |||||
* critical time. | |||||
*/ | |||||
PROC_LOCK(p); | |||||
++p->p_lock; | |||||
PROC_UNLOCK(p); | |||||
/* Fault in the user page: */ | |||||
error = vm_fault(map, va, ftype, VM_FAULT_NORMAL); | |||||
PROC_LOCK(p); | |||||
--p->p_lock; | |||||
PROC_UNLOCK(p); | |||||
} else { | |||||
/* | |||||
* Don't have to worry about process locking or stacks in the | |||||
* kernel. | |||||
*/ | |||||
error = vm_fault(map, va, ftype, VM_FAULT_NORMAL); | |||||
} | |||||
Done Inline ActionsI'm surprised to see this snippet brought back to life in the riscv code. We removed it from elsewhere in the source tree almost exactly 4 years ago (r287625). I would suggest committing the removal of this snippet now, and thus separately from the rest. alc: I'm surprised to see this snippet brought back to life in the riscv code. We removed it from… | |||||
if (error != KERN_SUCCESS) { | if (error != KERN_SUCCESS) { | ||||
if (usermode) { | if (usermode) { | ||||
sig = SIGSEGV; | |||||
if (error == KERN_PROTECTION_FAILURE) | |||||
ucode = SEGV_ACCERR; | |||||
else | |||||
ucode = SEGV_MAPERR; | |||||
call_trapsignal(td, sig, ucode, (void *)stval); | call_trapsignal(td, sig, ucode, (void *)stval); | ||||
} else { | } else { | ||||
if (pcb->pcb_onfault != 0) { | if (pcb->pcb_onfault != 0) { | ||||
frame->tf_a[0] = error; | frame->tf_a[0] = error; | ||||
frame->tf_sepc = pcb->pcb_onfault; | frame->tf_sepc = pcb->pcb_onfault; | ||||
return; | return; | ||||
} | } | ||||
goto fatal; | goto fatal; | ||||
▲ Show 20 Lines • Show All 139 Lines • Show Last 20 Lines |
I'm surprised to see this snippet brought back to life in the riscv code. We removed it from elsewhere in the source tree almost exactly 4 years ago (r287625).
I would suggest committing the removal of this snippet now, and thus separately from the rest.