From b5c93a560d74ff0262606a32f48ec37f442a3054 Mon Sep 17 00:00:00 2001 From: Alfred Perlstein Date: Wed, 16 Jan 2002 21:33:41 +0000 Subject: [PATCH] Fix giant handling in pwrite(2), I forgot to release it when finishing the syscall. --- sys/kern/sys_generic.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index 77b843dddf44..d4fd72858144 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -394,11 +394,12 @@ pwrite(td, uap) struct file *fp; int error; - mtx_lock(&Giant); if ((error = fget_write(td, uap->fd, &fp)) == 0) { if (fp->f_type == DTYPE_VNODE) { + mtx_lock(&Giant); error = dofilewrite(td, fp, uap->fd, uap->buf, uap->nbyte, uap->offset, FOF_OFFSET); + mtx_unlock(&Giant); } else { error = ESPIPE; }