From d8aca3ff2501f9a77e22e5afb7a30380aed205af Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Fri, 16 Oct 2026 16:42:22 -0400 Subject: remove explicit framebuffer in kernel. reduce locking in syscalls --- sys/syscall_region.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'sys/syscall_region.c') diff --git a/sys/syscall_region.c b/sys/syscall_region.c index 959d615..dc81634 100644 --- a/sys/syscall_region.c +++ b/sys/syscall_region.c @@ -7,7 +7,7 @@ static int s_syscall_region_alloc(jove_owned_obj_t *region_obj, - jove_owned_obj_t *objdir_obj, + jove_obj_t *objdir_obj, lockstack_t *lockstack, size_t bytes_left, void *payload_data) @@ -20,8 +20,9 @@ s_syscall_region_alloc(jove_owned_obj_t *region_obj, CHECK_TOOSMALL(bytes_needed, bytes_left, "Message too small for subject path"); - jove_perm_obj_t subject = link_try_traverse_objdir( - objdir_obj, lockstack, payload->dest_pathlen, payload->dest_path); + jove_perm_obj_t subject = link_traverse_objdir(objdir_obj, payload->dest_pathlen, payload->dest_path); + lockstack_push(lockstack, subject.obj); + CHECK_OBJEXISTS(subject.obj, "Destination path is bad."); CHECK_OBJPERM(subject, SYSCALL_PERM_REGION_ALLOC_TGT, "Destination path does not have correct permissions."); CHECK_OBJTYPE(subject.obj, JOVE_OBJ_NONE, "Destination object is not JOVE_OBJ_NONE"); -- cgit v1.2.3