aboutsummaryrefslogtreecommitdiff
path: root/src/syscall.zig
diff options
context:
space:
mode:
authorHimbeer <himbeer@disroot.org>2024-08-01 23:22:11 +0200
committerHimbeer <himbeer@disroot.org>2024-08-01 23:22:11 +0200
commit719b97c31f17f5530cbc6d5c2e6e52115313bb11 (patch)
tree25a351cb52ed32ae485f5b9e518c8bc91319af4d /src/syscall.zig
parent92a17cfe08fc5ddb92197045c0112ec209fdfb50 (diff)
syscall: Temporarily enable user memory access in receive() while reading message to buffer
Diffstat (limited to 'src/syscall.zig')
-rw-r--r--src/syscall.zig4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/syscall.zig b/src/syscall.zig
index 763e20c..32e8748 100644
--- a/src/syscall.zig
+++ b/src/syscall.zig
@@ -192,5 +192,9 @@ fn receive(proc: *const process.Info, trap_frame: *const TrapFrame) !usize {
const len = trap_frame.general_purpose_registers[13];
const buffer = buffer_ptr[0..len];
+
+ paging.setUserMemoryAccess(true);
+ defer paging.setUserMemoryAccess(false);
+
return channel.receive(proc.id, id, sender, buffer);
}