aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/resources.zig7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/resources.zig b/src/lib/resources.zig
index 5c19aa2..71cd73b 100644
--- a/src/lib/resources.zig
+++ b/src/lib/resources.zig
@@ -77,7 +77,10 @@ const processfs = struct {
}
fn doCreate(pid: u16, thread_id: usize, data: usize) !usize {
- const path_c: [*:0]const u8 = @ptrFromInt(data);
+ paging.setUserMemoryAccess(true);
+ defer paging.setUserMemoryAccess(false);
+
+ const path_c: [*:0]const u8 = @ptrFromInt(data); // fixme: Kernel panic if null pointer
const allocator = mem.page_allocator;
@@ -104,6 +107,8 @@ const processfs = struct {
.proc = proc,
};
+ paging.setUserMemoryAccess(false);
+
defer proc.allowResume();
while (try rd.readHooked(proc, ctx.buffer.items, .{
.hookFn = loadExe,