diff options
author | krishna <none@none> | 2006-02-08 10:24:30 -0800 |
---|---|---|
committer | krishna <none@none> | 2006-02-08 10:24:30 -0800 |
commit | 5cd9bd63ac79b9a1a6c7a09230426e181988d09a (patch) | |
tree | 7ff50dd77dae84b3343f27daf4e779279efc0604 /usr/src | |
parent | 900524f30cbbebc670e146a87587f355b9f633ee (diff) | |
download | illumos-joyent-5cd9bd63ac79b9a1a6c7a09230426e181988d09a.tar.gz |
6364201 kstat_create('kssl', 0, 'kssl_stats'): namespace collision
6376643 add kssl ioctls to truss/codes.c
6376684 i.minorperm entry for kssl is incorrect
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/cmd/truss/codes.c | 7 | ||||
-rw-r--r-- | usr/src/pkgdefs/common_files/i.minorperm_i386 | 4 | ||||
-rw-r--r-- | usr/src/pkgdefs/common_files/i.minorperm_sparc | 4 | ||||
-rw-r--r-- | usr/src/uts/common/inet/kssl/kssl.c | 20 | ||||
-rw-r--r-- | usr/src/uts/common/inet/kssl/kssl.h | 4 |
5 files changed, 26 insertions, 13 deletions
diff --git a/usr/src/cmd/truss/codes.c b/usr/src/cmd/truss/codes.c index 0dc383acea..377430909f 100644 --- a/usr/src/cmd/truss/codes.c +++ b/usr/src/cmd/truss/codes.c @@ -89,6 +89,7 @@ #include <sys/aggr.h> #include <sys/dld.h> #include <sys/fs/zfs.h> +#include <inet/kssl/kssl.h> #include "ramdata.h" #include "proto.h" @@ -926,6 +927,12 @@ const struct ioc { { (uint_t)ZFS_IOC_SENDBACKUP, "ZFS_IOC_SENDBACKUP", "zfs_cmd_t" }, + /* kssl ioctls */ + { (uint_t)KSSL_ADD_ENTRY, "KSSL_ADD_ENTRY", + "kssl_params_t"}, + { (uint_t)KSSL_DELETE_ENTRY, "KSSL_DELETE_ENTRY", + "sockaddr_in"}, + { (uint_t)0, NULL, NULL } }; diff --git a/usr/src/pkgdefs/common_files/i.minorperm_i386 b/usr/src/pkgdefs/common_files/i.minorperm_i386 index 8abe93ba6b..322e388ab6 100644 --- a/usr/src/pkgdefs/common_files/i.minorperm_i386 +++ b/usr/src/pkgdefs/common_files/i.minorperm_i386 @@ -21,7 +21,7 @@ # CDDL HEADER END # # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" @@ -224,7 +224,7 @@ smbios:smbios zfs:* zfs:zfs scsi_vhci:* -kssl:kssl +kssl:* EOF } diff --git a/usr/src/pkgdefs/common_files/i.minorperm_sparc b/usr/src/pkgdefs/common_files/i.minorperm_sparc index 3d5055f54b..5b4454301f 100644 --- a/usr/src/pkgdefs/common_files/i.minorperm_sparc +++ b/usr/src/pkgdefs/common_files/i.minorperm_sparc @@ -21,7 +21,7 @@ # # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" @@ -274,7 +274,7 @@ mdesc:* zfs:* zfs:zfs scsi_vhci:* -kssl:kssl +kssl:* EOF } diff --git a/usr/src/uts/common/inet/kssl/kssl.c b/usr/src/uts/common/inet/kssl/kssl.c index 9bd2d5dce4..fa244136b7 100644 --- a/usr/src/uts/common/inet/kssl/kssl.c +++ b/usr/src/uts/common/inet/kssl/kssl.c @@ -20,7 +20,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -206,13 +206,15 @@ kssl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) return (DDI_SUCCESS); } +static kstat_t *kssl_ksp = NULL; + static int kssl_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) { if (cmd != DDI_DETACH) return (DDI_FAILURE); - if (kssl_entry_tab_nentries != 0) + if (kssl_entry_tab_nentries != 0 || kssl_cache_count != 0) return (DDI_FAILURE); mutex_destroy(&kssl_tab_mutex); @@ -220,6 +222,12 @@ kssl_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) if (kssl_cache != NULL) { kmem_cache_destroy(kssl_cache); + kssl_cache = NULL; + } + + if (kssl_ksp != NULL) { + kstat_delete(kssl_ksp); + kssl_ksp = NULL; } ddi_remove_minor_node(dip, NULL); @@ -507,17 +515,15 @@ kssl_stats_t *kssl_statp; static void kssl_global_init() { - kstat_t *ksp; - mutex_init(&kssl_tab_mutex, NULL, MUTEX_DRIVER, NULL); kssl_cache = kmem_cache_create("kssl_cache", sizeof (ssl_t), 0, kssl_constructor, kssl_destructor, NULL, NULL, NULL, 0); - if ((ksp = kstat_create("kssl", 0, "kssl_stats", "crypto", + if ((kssl_ksp = kstat_create("kssl", 0, "kssl_stats", "crypto", KSTAT_TYPE_NAMED, sizeof (kssl_stats_t) / sizeof (kstat_named_t), KSTAT_FLAG_PERSISTENT)) != NULL) { - kssl_statp = ksp->ks_data; + kssl_statp = kssl_ksp->ks_data; kstat_named_init(&kssl_statp->sid_cache_lookups, "kssl_sid_cache_lookups", KSTAT_DATA_UINT64); @@ -556,7 +562,7 @@ kssl_global_init() kstat_named_init(&kssl_statp->bad_pre_master_secret, "kssl_bad_pre_master_secret", KSTAT_DATA_UINT64); - kstat_install(ksp); + kstat_install(kssl_ksp); }; } diff --git a/usr/src/uts/common/inet/kssl/kssl.h b/usr/src/uts/common/inet/kssl/kssl.h index 7aad23f521..9be61070bc 100644 --- a/usr/src/uts/common/inet/kssl/kssl.h +++ b/usr/src/uts/common/inet/kssl/kssl.h @@ -20,7 +20,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -93,7 +93,7 @@ typedef struct kssl_params_s { } kssl_params_t; /* The ioctls to /dev/kssl */ -#define KSSL_IOC(x) (('k' << 8) | (x)) +#define KSSL_IOC(x) (('s' << 24) | ('s' << 16) | ('l' << 8) | (x)) #define KSSL_ADD_ENTRY KSSL_IOC(1) #define KSSL_DELETE_ENTRY KSSL_IOC(2) |