Make fnew() return a new file with only one reference. This makes
authorvisa <visa@openbsd.org>
Mon, 20 Aug 2018 14:59:02 +0000 (14:59 +0000)
committervisa <visa@openbsd.org>
Mon, 20 Aug 2018 14:59:02 +0000 (14:59 +0000)
the API more logical.

OK kettenis@ mpi@

sys/dev/diskmap.c
sys/dev/pci/drm/drm_linux.c
sys/kern/kern_descrip.c

index bd7509c..33a533f 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: diskmap.c,v 1.23 2018/08/05 14:23:57 beck Exp $       */
+/*     $OpenBSD: diskmap.c,v 1.24 2018/08/20 14:59:02 visa Exp $       */
 
 /*
  * Copyright (c) 2009, 2010 Joel Sing <jsing@openbsd.org>
@@ -127,7 +127,6 @@ diskmapioctl(dev_t dev, u_long cmd, caddr_t addr, int flag, struct proc *p)
        fp->f_data = (caddr_t)vp;
        fdinsert(fdp, fd, flags, fp);
        fdpunlock(fdp);
-       FRELE(fp, p);
 
        closef(fp0, p);
        free(devname, M_DEVBUF, PATH_MAX);
index 667e64a..18ae95f 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: drm_linux.c,v 1.28 2018/08/15 13:19:06 visa Exp $     */
+/*     $OpenBSD: drm_linux.c,v 1.29 2018/08/20 14:59:02 visa Exp $     */
 /*
  * Copyright (c) 2013 Jonathan Gray <jsg@openbsd.org>
  * Copyright (c) 2015, 2016 Mark Kettenis <kettenis@openbsd.org>
@@ -914,7 +914,6 @@ dma_buf_export(const struct dma_buf_export_info *info)
        dmabuf->size = info->size;
        dmabuf->file = fp;
        fp->f_data = dmabuf;
-       FRELE(fp, p);
        return dmabuf;
 }
 
index 0cdeb5a..f8a0c09 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: kern_descrip.c,v 1.179 2018/08/19 02:22:40 visa Exp $ */
+/*     $OpenBSD: kern_descrip.c,v 1.180 2018/08/20 14:59:02 visa Exp $ */
 /*     $NetBSD: kern_descrip.c,v 1.42 1996/03/30 22:24:38 christos Exp $       */
 
 /*
@@ -1002,6 +1002,7 @@ restart:
                return (ENFILE);
        }
 
+       FREF(fp);
        *resultfp = fp;
        *resultfd = i;
 
@@ -1031,8 +1032,6 @@ fnew(struct proc *p)
        fp->f_cred = p->p_ucred;
        crhold(fp->f_cred);
 
-       FREF(fp);
-
        return (fp);
 }