vn_open now returns locked, so must unlock when done
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Wed, 29 May 1991 08:38:55 +0000 (00:38 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Wed, 29 May 1991 08:38:55 +0000 (00:38 -0800)
SCCS-vsn: sys/kern/kern_sig.c 7.31
SCCS-vsn: sys/kern/kern_ktrace.c 7.14

usr/src/sys/kern/kern_ktrace.c
usr/src/sys/kern/kern_sig.c

index 50a63b7..7f68336 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)kern_ktrace.c       7.13 (Berkeley) %G%
+ *     @(#)kern_ktrace.c       7.14 (Berkeley) %G%
  */
 
 #ifdef KTRACE
  */
 
 #ifdef KTRACE
@@ -175,6 +175,7 @@ ktrace(curp, uap, retval)
                if (error = vn_open(&nd, curp, FREAD|FWRITE, 0))
                        return (error);
                vp = nd.ni_vp;
                if (error = vn_open(&nd, curp, FREAD|FWRITE, 0))
                        return (error);
                vp = nd.ni_vp;
+               VOP_UNLOCK(vp);
                if (vp->v_type != VREG) {
                        vrele(vp);
                        return (EACCES);
                if (vp->v_type != VREG) {
                        vrele(vp);
                        return (EACCES);
index 381d756..1c86a5c 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)kern_sig.c  7.30 (Berkeley) %G%
+ *     @(#)kern_sig.c  7.31 (Berkeley) %G%
  */
 
 #define        SIGPROP         /* include signal properties table */
  */
 
 #define        SIGPROP         /* include signal properties table */
@@ -998,10 +998,9 @@ coredump(p)
                return (EFAULT);
        nd.ni_segflg = UIO_SYSSPACE;
        nd.ni_dirp = "core";
                return (EFAULT);
        nd.ni_segflg = UIO_SYSSPACE;
        nd.ni_dirp = "core";
-       if (error = vn_open(&nd, p, FCREAT|FWRITE, 0644))
+       if (error = vn_open(&nd, p, O_CREAT|FWRITE, 0644))
                return (error);
        vp = nd.ni_vp;
                return (error);
        vp = nd.ni_vp;
-       VOP_LOCK(vp);
        if (vp->v_type != VREG || VOP_GETATTR(vp, &vattr, cred, p) ||
            vattr.va_nlink != 1) {
                vput(vp);
        if (vp->v_type != VREG || VOP_GETATTR(vp, &vattr, cred, p) ||
            vattr.va_nlink != 1) {
                vput(vp);