diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2016-01-13 12:01:28 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2016-01-13 12:01:28 +0000 |
| commit | 7ea3f72efb1ba559d2ff9701c750186c6b792763 (patch) | |
| tree | bfda7f7f852050034599110e8956c91843a0340f /sys/dev/pty | |
| parent | 09d986419d8834aa4fdb998695a8b7cce7e8e52a (diff) | |
Notes
Diffstat (limited to 'sys/dev/pty')
| -rw-r--r-- | sys/dev/pty/pty.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/sys/dev/pty/pty.c b/sys/dev/pty/pty.c index 5e2d822fe291e..666ee8790f3b5 100644 --- a/sys/dev/pty/pty.c +++ b/sys/dev/pty/pty.c @@ -97,6 +97,8 @@ static void pty_clone(void *arg, struct ucred *cr, char *name, int namelen, struct cdev **dev) { + struct make_dev_args mda; + int error; /* Cloning is already satisfied. */ if (*dev != NULL) @@ -117,8 +119,17 @@ pty_clone(void *arg, struct ucred *cr, char *name, int namelen, return; /* Create the controller device node. */ - *dev = make_dev_credf(MAKEDEV_REF, &ptydev_cdevsw, 0, - NULL, UID_ROOT, GID_WHEEL, 0666, "%s", name); + make_dev_args_init(&mda); + mda.mda_flags = MAKEDEV_CHECKNAME | MAKEDEV_REF; + mda.mda_devsw = &ptydev_cdevsw; + mda.mda_uid = UID_ROOT; + mda.mda_gid = GID_WHEEL; + mda.mda_mode = 0666; + error = make_dev_s(&mda, dev, "%s", name); + if (error != 0) { + printf("pty_clone: failed to create %s: %d\n", name, error); + *dev = NULL; + } } static int |
