Page MenuHomeFreeBSD

D5719.id14568.diff
No OneTemporary

D5719.id14568.diff

Index: sys/arm64/arm64/copyinout.S
===================================================================
--- sys/arm64/arm64/copyinout.S
+++ sys/arm64/arm64/copyinout.S
@@ -52,7 +52,8 @@
*/
ENTRY(copyout)
cbz x2, 1f
- add x3, x1, x2
+ adds x3, x1, x2
+ b.cs copyio_fault_nopcb
ldr x4, =VM_MAXUSER_ADDRESS
cmp x3, x4
b.hi copyio_fault_nopcb
@@ -71,7 +72,8 @@
*/
ENTRY(copyin)
cbz x2, 1f
- add x3, x0, x2
+ adds x3, x0, x2
+ b.cs copyio_fault_nopcb
ldr x4, =VM_MAXUSER_ADDRESS
cmp x3, x4
b.hi copyio_fault_nopcb
@@ -92,11 +94,11 @@
mov x5, xzr /* count = 0 */
mov w4, #1 /* If zero return faulure */
cbz x2, 3f /* If len == 0 then skip loop */
- ldr x7, =VM_MAXUSER_ADDRESS
adr x6, copyio_fault /* Get the handler address */
SET_FAULT_HANDLER(x6, x7) /* Set the handler */
+ ldr x7, =VM_MAXUSER_ADDRESS
1: cmp x0, x7
b.cs copyio_fault
ldrb w4, [x0], #1 /* Load from uaddr */

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 9, 3:42 PM (5 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28595621
Default Alt Text
D5719.id14568.diff (919 B)

Event Timeline