From c2788174198632e0c8bdbfa7762081f595460bdf Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Tue, 29 Sep 2026 12:53:57 -0400 Subject: move process code into proc. add panic folder --- sys/syscall_untyped.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'sys/syscall_untyped.c') diff --git a/sys/syscall_untyped.c b/sys/syscall_untyped.c index a117387..8fe592d 100644 --- a/sys/syscall_untyped.c +++ b/sys/syscall_untyped.c @@ -19,10 +19,13 @@ s_syscall_untyped_split( bytes_needed += payload->dest_pathlen * 2; CHECK_TOOSMALL(bytes_needed, payload_bytes, "Message is too small for destination path!"); - jove_perm_obj_t dest = link_try_traverse( - lockstack_push(lockstack, - objdir_trygetobj(objdir, payload->dest_path, payload->dest_pathlen)), - lockstack); + jove_perm_obj_t dest = link_try_traverse_objdir( + objdir, lockstack, payload->dest_pathlen, payload->dest_path); + if(errno) { + klogf("Unable to get destination object %P: %s\n", + payload->dest_path, payload->dest_pathlen, errstr(errno)); + return errno; + } CHECK_OBJTYPE(dest.obj, JOVE_OBJ_NONE, "Destination path is occupied!"); @@ -49,10 +52,14 @@ s_syscall_untyped_merge( bytes_needed += payload->pathlen * 2; CHECK_TOOSMALL(bytes_needed, payload_bytes, "Message is too small for second path!"); - jove_perm_obj_t untyped = link_try_traverse( - lockstack_push(lockstack, - objdir_getobj(objdir, payload->path, payload->pathlen)), - lockstack); + jove_perm_obj_t untyped = link_try_traverse_objdir( + objdir, lockstack, payload->pathlen, payload->path); + if(errno) { + klogf("Unable to retrieve untyped object %P : %s\n", + payload->path, payload->pathlen, errstr(errno)); + return errno; + } + CHECK_OBJTYPE(untyped.obj, JOVE_OBJ_UNTYPED, "Second object is not an untyped!"); CHECK_OBJPERM(untyped, SYSCALL_PERM_UNTYPED_MERGE, "Second untyped does not have permission to merge!"); -- cgit v1.2.3