summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/sockfs
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/fs/sockfs')
-rw-r--r--usr/src/uts/common/fs/sockfs/sockcommon.h3
-rw-r--r--usr/src/uts/common/fs/sockfs/sockcommon_sops.c3
-rw-r--r--usr/src/uts/common/fs/sockfs/sockcommon_subr.c8
-rw-r--r--usr/src/uts/common/fs/sockfs/socktpi.c199
4 files changed, 4 insertions, 209 deletions
diff --git a/usr/src/uts/common/fs/sockfs/sockcommon.h b/usr/src/uts/common/fs/sockfs/sockcommon.h
index f3ffe456f1..fac10a8935 100644
--- a/usr/src/uts/common/fs/sockfs/sockcommon.h
+++ b/usr/src/uts/common/fs/sockfs/sockcommon.h
@@ -184,8 +184,7 @@ extern int so_dequeue_msg(struct sonode *, mblk_t **, struct uio *,
extern void so_enqueue_msg(struct sonode *, mblk_t *, size_t);
extern void so_process_new_message(struct sonode *, mblk_t *, mblk_t *);
-extern mblk_t *socopyinuio(uio_t *, ssize_t, size_t, ssize_t, size_t, int *,
- cred_t *);
+extern mblk_t *socopyinuio(uio_t *, ssize_t, size_t, ssize_t, size_t, int *);
extern mblk_t *socopyoutuio(mblk_t *, struct uio *, ssize_t, int *);
extern boolean_t somsghasdata(mblk_t *);
diff --git a/usr/src/uts/common/fs/sockfs/sockcommon_sops.c b/usr/src/uts/common/fs/sockfs/sockcommon_sops.c
index 48a3e37921..4521fdd352 100644
--- a/usr/src/uts/common/fs/sockfs/sockcommon_sops.c
+++ b/usr/src/uts/common/fs/sockfs/sockcommon_sops.c
@@ -470,8 +470,7 @@ so_sendmsg(struct sonode *so, struct nmsghdr *msg, struct uio *uiop,
so->so_proto_props.sopp_maxpsz,
so->so_proto_props.sopp_wroff,
so->so_proto_props.sopp_maxblk,
- so->so_proto_props.sopp_tail, &error,
- cr)) == NULL) {
+ so->so_proto_props.sopp_tail, &error)) == NULL) {
break;
}
ASSERT(uiop->uio_resid >= 0);
diff --git a/usr/src/uts/common/fs/sockfs/sockcommon_subr.c b/usr/src/uts/common/fs/sockfs/sockcommon_subr.c
index a244c65bc6..9b806d0a4a 100644
--- a/usr/src/uts/common/fs/sockfs/sockcommon_subr.c
+++ b/usr/src/uts/common/fs/sockfs/sockcommon_subr.c
@@ -471,7 +471,7 @@ socket_sendsig(struct sonode *so, int event)
/* Copy userdata into a new mblk_t */
mblk_t *
socopyinuio(uio_t *uiop, ssize_t iosize, size_t wroff, ssize_t maxblk,
- size_t tail_len, int *errorp, cred_t *cr)
+ size_t tail_len, int *errorp)
{
mblk_t *head = NULL, **tail = &head;
@@ -499,11 +499,7 @@ socopyinuio(uio_t *uiop, ssize_t iosize, size_t wroff, ssize_t maxblk,
blocksize = MIN(iosize, maxblk);
ASSERT(blocksize >= 0);
- if (is_system_labeled())
- mp = allocb_cred(wroff + blocksize + tail_len,
- cr, curproc->p_pid);
- else
- mp = allocb(wroff + blocksize + tail_len, BPRI_MED);
+ mp = allocb(wroff + blocksize + tail_len, BPRI_MED);
if (mp == NULL) {
*errorp = ENOMEM;
return (head);
diff --git a/usr/src/uts/common/fs/sockfs/socktpi.c b/usr/src/uts/common/fs/sockfs/socktpi.c
index b2a178fbcb..bfbd67ad81 100644
--- a/usr/src/uts/common/fs/sockfs/socktpi.c
+++ b/usr/src/uts/common/fs/sockfs/socktpi.c
@@ -5506,205 +5506,6 @@ sotpi_setsockopt(struct sonode *so, int level, int option_name,
so_lock_single(so); /* Set SOLOCKED */
mutex_exit(&so->so_lock);
- /*
- * For SOCKET or TCP level options, try to set it here itself
- * provided socket has not been popped and we know the tcp
- * structure (stored in so_priv).
- */
- if ((level == SOL_SOCKET || level == IPPROTO_TCP) &&
- (so->so_family == AF_INET || so->so_family == AF_INET6) &&
- (so->so_version == SOV_SOCKSTREAM) &&
- (so->so_proto_handle != NULL)) {
- tcp_t *tcp = (tcp_t *)so->so_proto_handle;
- boolean_t onoff;
-
-#define intvalue (*(int32_t *)optval)
-
- switch (level) {
- case SOL_SOCKET:
- switch (option_name) { /* Check length param */
- case SO_DEBUG:
- case SO_REUSEADDR:
- case SO_DONTROUTE:
- case SO_BROADCAST:
- case SO_USELOOPBACK:
- case SO_OOBINLINE:
- case SO_DGRAM_ERRIND:
- if (optlen != (t_uscalar_t)sizeof (int32_t)) {
- error = EINVAL;
- eprintsoline(so, error);
- mutex_enter(&so->so_lock);
- goto done2;
- }
- ASSERT(optval);
- onoff = intvalue != 0;
- handled = B_TRUE;
- break;
- case SO_SNDTIMEO:
- case SO_RCVTIMEO:
- if (get_udatamodel() == DATAMODEL_NONE ||
- get_udatamodel() == DATAMODEL_NATIVE) {
- if (optlen !=
- sizeof (struct timeval)) {
- error = EINVAL;
- eprintsoline(so, error);
- mutex_enter(&so->so_lock);
- goto done2;
- }
- } else {
- if (optlen !=
- sizeof (struct timeval32)) {
- error = EINVAL;
- eprintsoline(so, error);
- mutex_enter(&so->so_lock);
- goto done2;
- }
- }
- ASSERT(optval);
- handled = B_TRUE;
- break;
- case SO_LINGER:
- if (optlen !=
- (t_uscalar_t)sizeof (struct linger)) {
- error = EINVAL;
- eprintsoline(so, error);
- mutex_enter(&so->so_lock);
- goto done2;
- }
- ASSERT(optval);
- handled = B_TRUE;
- break;
- }
-
- switch (option_name) { /* Do actions */
- case SO_LINGER: {
- struct linger *lgr = (struct linger *)optval;
-
- if (lgr->l_onoff) {
- tcp->tcp_linger = 1;
- tcp->tcp_lingertime = lgr->l_linger;
- so->so_linger.l_onoff = SO_LINGER;
- so->so_options |= SO_LINGER;
- } else {
- tcp->tcp_linger = 0;
- tcp->tcp_lingertime = 0;
- so->so_linger.l_onoff = 0;
- so->so_options &= ~SO_LINGER;
- }
- so->so_linger.l_linger = lgr->l_linger;
- handled = B_TRUE;
- break;
- }
- case SO_SNDTIMEO:
- case SO_RCVTIMEO: {
- struct timeval tl;
- clock_t val;
-
- if (get_udatamodel() == DATAMODEL_NONE ||
- get_udatamodel() == DATAMODEL_NATIVE)
- bcopy(&tl, (struct timeval *)optval,
- sizeof (struct timeval));
- else
- TIMEVAL32_TO_TIMEVAL(&tl,
- (struct timeval32 *)optval);
- val = tl.tv_sec * 1000 * 1000 + tl.tv_usec;
- if (option_name == SO_RCVTIMEO)
- so->so_rcvtimeo = drv_usectohz(val);
- else
- so->so_sndtimeo = drv_usectohz(val);
- break;
- }
-
- case SO_DEBUG:
- tcp->tcp_debug = onoff;
-#ifdef SOCK_TEST
- if (intvalue & 2)
- sock_test_timelimit = 10 * hz;
- else
- sock_test_timelimit = 0;
-
- if (intvalue & 4)
- do_useracc = 0;
- else
- do_useracc = 1;
-#endif /* SOCK_TEST */
- break;
- case SO_DONTROUTE:
- /*
- * SO_DONTROUTE, SO_USELOOPBACK and
- * SO_BROADCAST are only of interest to IP.
- * We track them here only so
- * that we can report their current value.
- */
- tcp->tcp_dontroute = onoff;
- if (onoff)
- so->so_options |= option_name;
- else
- so->so_options &= ~option_name;
- break;
- case SO_USELOOPBACK:
- tcp->tcp_useloopback = onoff;
- if (onoff)
- so->so_options |= option_name;
- else
- so->so_options &= ~option_name;
- break;
- case SO_BROADCAST:
- tcp->tcp_broadcast = onoff;
- if (onoff)
- so->so_options |= option_name;
- else
- so->so_options &= ~option_name;
- break;
- case SO_REUSEADDR:
- tcp->tcp_reuseaddr = onoff;
- if (onoff)
- so->so_options |= option_name;
- else
- so->so_options &= ~option_name;
- break;
- case SO_OOBINLINE:
- tcp->tcp_oobinline = onoff;
- if (onoff)
- so->so_options |= option_name;
- else
- so->so_options &= ~option_name;
- break;
- case SO_DGRAM_ERRIND:
- tcp->tcp_dgram_errind = onoff;
- if (onoff)
- so->so_options |= option_name;
- else
- so->so_options &= ~option_name;
- break;
- }
- break;
- case IPPROTO_TCP:
- switch (option_name) {
- case TCP_NODELAY:
- if (optlen != (t_uscalar_t)sizeof (int32_t)) {
- error = EINVAL;
- eprintsoline(so, error);
- mutex_enter(&so->so_lock);
- goto done2;
- }
- ASSERT(optval);
- tcp->tcp_naglim = intvalue ? 1 : tcp->tcp_mss;
- handled = B_TRUE;
- break;
- }
- break;
- default:
- handled = B_FALSE;
- break;
- }
- }
-
- if (handled) {
- mutex_enter(&so->so_lock);
- goto done2;
- }
-
optmgmt_req.PRIM_type = T_SVR4_OPTMGMT_REQ;
optmgmt_req.MGMT_flags = T_NEGOTIATE;
optmgmt_req.OPT_length = (t_scalar_t)sizeof (oh) + optlen;