diff options
author | Himbeer <himbeer@disroot.org> | 2024-08-01 23:03:11 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-08-01 23:03:11 +0200 |
commit | 92a17cfe08fc5ddb92197045c0112ec209fdfb50 (patch) | |
tree | ddaeed6157dc1d1b1b1066ca7026063161fd54a1 | |
parent | 9045a3911e43737c07d74b7f7cecbe179fb5b979 (diff) |
syscall: Temporarily enable user memory access in pass() while creating copy of message
-rw-r--r-- | src/syscall.zig | 3 |
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); } |