aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeer <himbeer@disroot.org>2024-08-01 23:03:11 +0200
committerHimbeer <himbeer@disroot.org>2024-08-01 23:03:11 +0200
commit92a17cfe08fc5ddb92197045c0112ec209fdfb50 (patch)
treeddaeed6157dc1d1b1b1066ca7026063161fd54a1
parent9045a3911e43737c07d74b7f7cecbe179fb5b979 (diff)
syscall: Temporarily enable user memory access in pass() while creating copy of message
-rw-r--r--src/syscall.zig3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/syscall.zig b/src/syscall.zig
index 79959cd..763e20c 100644
--- a/src/syscall.zig
+++ b/src/syscall.zig
@@ -177,7 +177,10 @@ fn pass(proc: *const process.Info, trap_frame: *const TrapFrame) !void {
const bytes = bytes_ptr[0..len];
const copy = try channel.allocator().alloc(u8, bytes.len);
+ paging.setUserMemoryAccess(true);
@memcpy(copy, bytes);
+ paging.setUserMemoryAccess(false);
+
try channel.pass(proc.id, id, receiver, identify, copy);
}