diff --git a/sys/cddl/dev/dtrace/dtrace_clone.c b/sys/cddl/dev/dtrace/dtrace_clone.c index be1e3d4..6f1b89a 100644 --- a/sys/cddl/dev/dtrace/dtrace_clone.c +++ b/sys/cddl/dev/dtrace/dtrace_clone.c @@ -52,10 +52,8 @@ dtrace_clone(void *arg, struct ucred *cred, char *name, int namelen, struct cdev /* Clone the device to the new minor number. */ if (clone_create(&dtrace_clones, &dtrace_cdevsw, &u, dev, 0) != 0) /* Create the /dev/dtrace/dtraceNN entry. */ - *dev = make_dev_cred(&dtrace_cdevsw, u, cred, + *dev = make_dev_credf(MAKEDEV_REF, &dtrace_cdevsw, u, cred, UID_ROOT, GID_WHEEL, 0600, "dtrace/dtrace%d", u); - if (*dev != NULL) { - dev_ref(*dev); + if (*dev != NULL) (*dev)->si_flags |= SI_CHEAPCLONE; - } } diff --git a/sys/dev/firewire/fwdev.c b/sys/dev/firewire/fwdev.c index 1475d00..f483a21 100644 --- a/sys/dev/firewire/fwdev.c +++ b/sys/dev/firewire/fwdev.c @@ -992,11 +992,11 @@ found: sc = devclass_get_softc(firewire_devclass, unit); if (sc == NULL) return; - *dev = make_dev(&firewire_cdevsw, MAKEMINOR(devflag[i], unit, sub), - UID_ROOT, GID_OPERATOR, 0660, - "%s%d.%d", devnames[i], unit, sub); - dev_ref(*dev); - (*dev)->si_flags |= SI_CHEAPCLONE; + *dev = make_dev_credf(MAKEDEV_REF, &firewire_cdevsw, + MAKEMINOR(devflag[i], unit, sub), cred, UID_ROOT, GID_OPERATOR, + 0660, "%s%d.%d", devnames[i], unit, sub); + if (*dev != NULL) + (*dev)->si_flags |= SI_CHEAPCLONE; dev_depends(sc->dev, *dev); return; } diff --git a/sys/dev/vkbd/vkbd.c b/sys/dev/vkbd/vkbd.c index 81418f2..e3c7449 100644 --- a/sys/dev/vkbd/vkbd.c +++ b/sys/dev/vkbd/vkbd.c @@ -187,12 +187,11 @@ vkbd_dev_clone(void *arg, struct ucred *cred, char *name, int namelen, /* find any existing device, or allocate new unit number */ if (clone_create(&vkbd_dev_clones, &vkbd_dev_cdevsw, &unit, dev, 0)) { - *dev = make_dev(&vkbd_dev_cdevsw, unit, - UID_ROOT, GID_WHEEL, 0600, DEVICE_NAME "%d", unit); - if (*dev != NULL) { - dev_ref(*dev); + *dev = make_dev_credf(MAKEDEV_REF, &vkbd_dev_cdevsw, unit, + cred, UID_ROOT, GID_WHEEL, 0600, DEVICE_NAME "%d", + unit); + if (*dev != NULL) (*dev)->si_flags |= SI_CHEAPCLONE; - } } } diff --git a/sys/security/audit/audit_pipe.c b/sys/security/audit/audit_pipe.c index dc0df3e..662b4fa 100644 --- a/sys/security/audit/audit_pipe.c +++ b/sys/security/audit/audit_pipe.c @@ -673,12 +673,10 @@ audit_pipe_clone(void *arg, struct ucred *cred, char *name, int namelen, i = clone_create(&audit_pipe_clones, &audit_pipe_cdevsw, &u, dev, 0); if (i) { - *dev = make_dev(&audit_pipe_cdevsw, u, UID_ROOT, - GID_WHEEL, 0600, "%s%d", AUDIT_PIPE_NAME, u); - if (*dev != NULL) { - dev_ref(*dev); + *dev = make_dev_credf(MAKEDEV_REF, &audit_pipe_cdevsw, u, cred, + UID_ROOT, GID_WHEEL, 0600, "%s%d", AUDIT_PIPE_NAME, u); + if (*dev != NULL) (*dev)->si_flags |= SI_CHEAPCLONE; - } } }