diff options
| author | Jon Santmyer <jon@jonsantmyer.com> | 2026-10-16 16:42:22 -0400 |
|---|---|---|
| committer | Jon Santmyer <jon@jonsantmyer.com> | 2026-10-16 16:42:22 -0400 |
| commit | d8aca3ff2501f9a77e22e5afb7a30380aed205af (patch) | |
| tree | a27db1749a35aea07317406f170a2d9b2a799ce7 /sys/syscall_region.c | |
| parent | 548506392b789f58b1556a6ffca917441e1d89fd (diff) | |
| download | jove-kernel-d8aca3ff2501f9a77e22e5afb7a30380aed205af.tar.gz jove-kernel-d8aca3ff2501f9a77e22e5afb7a30380aed205af.tar.bz2 jove-kernel-d8aca3ff2501f9a77e22e5afb7a30380aed205af.zip | |
remove explicit framebuffer in kernel. reduce locking in syscalls
Diffstat (limited to 'sys/syscall_region.c')
| -rw-r--r-- | sys/syscall_region.c | 7 |
1 files changed, 4 insertions, 3 deletions
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"); |
