diff options
author | pfg <pfg@FreeBSD.org> | 2014-10-14 23:16:52 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2014-10-14 23:16:52 +0000 |
commit | ca6df600d4683f5b6e9b3649dd98eee94c0ff8c1 (patch) | |
tree | 8938ec460f23710e509449b0eef73d49d8396790 /sys/cddl/dev | |
parent | 6eb4db1c33a22c087b64c3d0d15b9d5e0b54e7fd (diff) | |
download | FreeBSD-src-ca6df600d4683f5b6e9b3649dd98eee94c0ff8c1.zip FreeBSD-src-ca6df600d4683f5b6e9b3649dd98eee94c0ff8c1.tar.gz |
MFC r267851:
Continue the crusade towards a dev_clone()-free kernel, removing its
usage from dtrace. The dtrace code already uses cdevpriv(9) since FreeBSD
8, so this change is quite harmless.
Originally by: davide
Reviewed by: markj
Diffstat (limited to 'sys/cddl/dev')
-rw-r--r-- | sys/cddl/dev/dtrace/dtrace_clone.c | 57 | ||||
-rw-r--r-- | sys/cddl/dev/dtrace/dtrace_ioctl.c | 5 | ||||
-rw-r--r-- | sys/cddl/dev/dtrace/dtrace_load.c | 8 | ||||
-rw-r--r-- | sys/cddl/dev/dtrace/dtrace_unload.c | 15 |
4 files changed, 1 insertions, 84 deletions
diff --git a/sys/cddl/dev/dtrace/dtrace_clone.c b/sys/cddl/dev/dtrace/dtrace_clone.c deleted file mode 100644 index 5009e9d..0000000 --- a/sys/cddl/dev/dtrace/dtrace_clone.c +++ /dev/null @@ -1,57 +0,0 @@ -/*- - * Copyright (C) 2006 John Birrell <jb@freebsd.org>. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice(s), this list of conditions and the following disclaimer as - * the first lines of this file unmodified other than the possible - * addition of one or more copyright notices. - * 2. Redistributions in binary form must reproduce the above copyright - * notice(s), this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * $FreeBSD$ - * - */ - -static void -dtrace_clone(void *arg, struct ucred *cred, char *name, int namelen, struct cdev **dev) -{ - int u = -1; - size_t len; - - if (*dev != NULL) - return; - - len = strlen(name); - - if (len != 6 && len != 13) - return; - - if (bcmp(name,"dtrace",6) != 0) - return; - - if (len == 13 && bcmp(name,"dtrace/dtrace",13) != 0) - return; - - /* 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_credf(MAKEDEV_REF, &dtrace_cdevsw, u, cred, - UID_ROOT, GID_WHEEL, 0600, "dtrace/dtrace%d", u); -} diff --git a/sys/cddl/dev/dtrace/dtrace_ioctl.c b/sys/cddl/dev/dtrace/dtrace_ioctl.c index 13e8eab..e261091 100644 --- a/sys/cddl/dev/dtrace/dtrace_ioctl.c +++ b/sys/cddl/dev/dtrace/dtrace_ioctl.c @@ -78,12 +78,9 @@ static int dtrace_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flags __unused, struct thread *td) { -#if __FreeBSD_version < 800039 - dtrace_state_t *state = dev->si_drv1; -#else dtrace_state_t *state; devfs_get_cdevpriv((void **) &state); -#endif + int error = 0; if (state == NULL) return (EINVAL); diff --git a/sys/cddl/dev/dtrace/dtrace_load.c b/sys/cddl/dev/dtrace/dtrace_load.c index e9cf9ae..8a622c7 100644 --- a/sys/cddl/dev/dtrace/dtrace_load.c +++ b/sys/cddl/dev/dtrace/dtrace_load.c @@ -158,18 +158,10 @@ dtrace_load(void *dummy) mutex_exit(&cpu_lock); -#if __FreeBSD_version < 800039 - /* Enable device cloning. */ - clone_setup(&dtrace_clones); - - /* Setup device cloning events. */ - eh_tag = EVENTHANDLER_REGISTER(dev_clone, dtrace_clone, 0, 1000); -#else dtrace_dev = make_dev(&dtrace_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, "dtrace/dtrace"); helper_dev = make_dev(&helper_cdevsw, 0, UID_ROOT, GID_WHEEL, 0660, "dtrace/helper"); -#endif return; } diff --git a/sys/cddl/dev/dtrace/dtrace_unload.c b/sys/cddl/dev/dtrace/dtrace_unload.c index 41b7538..da58b8db 100644 --- a/sys/cddl/dev/dtrace/dtrace_unload.c +++ b/sys/cddl/dev/dtrace/dtrace_unload.c @@ -28,23 +28,8 @@ dtrace_unload() dtrace_state_t *state; int error = 0; -#if __FreeBSD_version < 800039 - /* - * Check if there is still an event handler callback - * registered. - */ - if (eh_tag != 0) { - /* De-register the device cloning event handler. */ - EVENTHANDLER_DEREGISTER(dev_clone, eh_tag); - eh_tag = 0; - - /* Stop device cloning. */ - clone_cleanup(&dtrace_clones); - } -#else destroy_dev(dtrace_dev); destroy_dev(helper_dev); -#endif mutex_enter(&dtrace_provider_lock); mutex_enter(&dtrace_lock); |