From 71a38176d1ac0118e852db2460f30544f5e514d8 Mon Sep 17 00:00:00 2001 From: Matheus Date: Wed, 22 May 2024 19:23:37 -0300 Subject: [PATCH] fix jobctl /dev/tty stuff --- kernel-src/fs/vfs.c | 12 ++++++++---- kernel-src/sys/jobctl.c | 1 - 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/kernel-src/fs/vfs.c b/kernel-src/fs/vfs.c index 6c9e89cc..ade890c1 100644 --- a/kernel-src/fs/vfs.c +++ b/kernel-src/fs/vfs.c @@ -100,13 +100,17 @@ int vfs_mount(vnode_t *backing, vnode_t *pathref, char *path, char *name, void * } int vfs_open(vnode_t *ref, char *path, int flags, vnode_t **res) { - int err = vfs_lookup(res, ref, path, NULL, 0); + vnode_t *tmp = NULL; + int err = vfs_lookup(&tmp, ref, path, NULL, 0); if (err) return err; - err = VOP_OPEN(res, flags, getcred()); - if (err) - VOP_RELEASE(*res); + err = VOP_OPEN(&tmp, flags, getcred()); + if (err) { + VOP_RELEASE(tmp); + } else { + *res = tmp; + } return err; } diff --git a/kernel-src/sys/jobctl.c b/kernel-src/sys/jobctl.c index 736bd2f2..2f691b09 100644 --- a/kernel-src/sys/jobctl.c +++ b/kernel-src/sys/jobctl.c @@ -35,7 +35,6 @@ static void removefromlist(proc_t *pgrp, proc_t *proc) { void jobctl_setctty(proc_t *proc, void *_ctty) { tty_t *tty = _ctty; - __assert(tty); bool intstatus = interrupt_set(false); spinlock_acquire(&proc->jobctllock);