summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorkrishna <none@none>2006-02-08 10:24:30 -0800
committerkrishna <none@none>2006-02-08 10:24:30 -0800
commit5cd9bd63ac79b9a1a6c7a09230426e181988d09a (patch)
tree7ff50dd77dae84b3343f27daf4e779279efc0604 /usr/src
parent900524f30cbbebc670e146a87587f355b9f633ee (diff)
downloadillumos-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.c7
-rw-r--r--usr/src/pkgdefs/common_files/i.minorperm_i3864
-rw-r--r--usr/src/pkgdefs/common_files/i.minorperm_sparc4
-rw-r--r--usr/src/uts/common/inet/kssl/kssl.c20
-rw-r--r--usr/src/uts/common/inet/kssl/kssl.h4
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)