Author: jhb Date: Wed Jan 8 19:03:24 2020 New Revision: 356508 URL: https://svnweb.freebsd.org/changeset/base/356508
Log: Use falloc_noinstall + finstall for crypto file descriptors. Reviewed by: cem, kib MFC after: 1 week Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D23078 Modified: head/sys/opencrypto/cryptodev.c Modified: head/sys/opencrypto/cryptodev.c ============================================================================== --- head/sys/opencrypto/cryptodev.c Wed Jan 8 18:59:23 2020 (r356507) +++ head/sys/opencrypto/cryptodev.c Wed Jan 8 19:03:24 2020 (r356508) @@ -1499,20 +1499,21 @@ cryptoioctl(struct cdev *dev, u_long cmd, caddr_t data switch (cmd) { case CRIOGET: + error = falloc_noinstall(td, &f); + if (error) + break; + fcr = malloc(sizeof(struct fcrypt), M_XDATA, M_WAITOK | M_ZERO); TAILQ_INIT(&fcr->csessions); mtx_init(&fcr->lock, "fcrypt", NULL, MTX_DEF); - error = falloc(td, &f, &fd, 0); - + finit(f, FREAD | FWRITE, DTYPE_CRYPTO, fcr, &cryptofops); + error = finstall(td, f, &fd, 0, NULL); if (error) { mtx_destroy(&fcr->lock); free(fcr, M_XDATA); - return (error); - } - /* falloc automatically provides an extra reference to 'f'. */ - finit(f, FREAD | FWRITE, DTYPE_CRYPTO, fcr, &cryptofops); - *(u_int32_t *)data = fd; + } else + *(uint32_t *)data = fd; fdrop(f, td); break; case CRIOFINDDEV: _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"