summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorAnders Persson <Anders.Persson@Sun.COM>2009-03-02 22:33:16 -0800
committerAnders Persson <Anders.Persson@Sun.COM>2009-03-02 22:33:16 -0800
commitd4f98ef9325ff1018a7e263b4c728ba236519b51 (patch)
treecd91114ce5574abad0aa4eabbc5d028524464ce6 /usr/src
parent7d64f41b87275bdc41b1f4cddb0fe3d951ef64bd (diff)
downloadillumos-joyent-d4f98ef9325ff1018a7e263b4c728ba236519b51.tar.gz
6805727 assertion for non-null credential tripped in tcp_tpi_accept
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/fs/sockfs/socktpi.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr/src/uts/common/fs/sockfs/socktpi.c b/usr/src/uts/common/fs/sockfs/socktpi.c
index 80738f5fa8..86a7f67481 100644
--- a/usr/src/uts/common/fs/sockfs/socktpi.c
+++ b/usr/src/uts/common/fs/sockfs/socktpi.c
@@ -1884,7 +1884,6 @@ again:
/*
* Record so_peercred and so_cpid from a cred in the T_CONN_IND.
- * Send down a T_CONN_RES without a cred.
*/
if ((DB_REF(mp) > 1) || MBLKSIZE(mp) <
(sizeof (struct T_conn_res) + sizeof (intptr_t))) {
@@ -1900,7 +1899,7 @@ again:
freemsg(mp);
mp = soallocproto1(NULL, sizeof (struct T_conn_res) +
- sizeof (intptr_t), 0, _ALLOC_INTR, NULL);
+ sizeof (intptr_t), 0, _ALLOC_INTR, cr);
if (mp == NULL) {
/*
* Accept can not fail with ENOBUFS.
@@ -1922,6 +1921,8 @@ again:
mp->b_rptr = DB_BASE(mp);
conn_res = (struct T_conn_res *)mp->b_rptr;
mp->b_wptr = mp->b_rptr + sizeof (struct T_conn_res);
+
+ mblk_setcred(mp, cr, curproc->p_pid);
}
/*