diff options
author | Himbeer <himbeer@disroot.org> | 2024-08-01 23:22:11 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-08-01 23:22:11 +0200 |
commit | 719b97c31f17f5530cbc6d5c2e6e52115313bb11 (patch) | |
tree | 25a351cb52ed32ae485f5b9e518c8bc91319af4d /src/syscall.zig | |
parent | 92a17cfe08fc5ddb92197045c0112ec209fdfb50 (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.zig | 4 |
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); } |