summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/smbsrv/smb_session.c
diff options
context:
space:
mode:
authorGordon Ross <gwr@nexenta.com>2013-08-12 18:46:56 -0400
committerGordon Ross <gwr@nexenta.com>2014-11-29 15:44:19 -0500
commit7f3ef643e446c82e27a9386991b140b128baf22c (patch)
treecf7953c84b788c0952f896c873d11f8e5b4d4bd7 /usr/src/uts/common/fs/smbsrv/smb_session.c
parent5fd03bc0f2e00e7ba02316c2e08f45d52aab15db (diff)
downloadillumos-joyent-7f3ef643e446c82e27a9386991b140b128baf22c.tar.gz
5318 Panic with smbtorture raw.scan-eamax
Reviewed by: Albert lee <trisk@nexenta.com> Reviewed by: Ilya Usvyatsky <Ilya.Usvyatsky@nexenta.com> Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com> Reviewed by: Dan McDonald <danmcd@nexenta.com> Approved by: Robert Mustacchi <rm@joyent.com>
Diffstat (limited to 'usr/src/uts/common/fs/smbsrv/smb_session.c')
-rw-r--r--usr/src/uts/common/fs/smbsrv/smb_session.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/usr/src/uts/common/fs/smbsrv/smb_session.c b/usr/src/uts/common/fs/smbsrv/smb_session.c
index be34af23b9..0fdac10ca6 100644
--- a/usr/src/uts/common/fs/smbsrv/smb_session.c
+++ b/usr/src/uts/common/fs/smbsrv/smb_session.c
@@ -337,25 +337,14 @@ smb_session_xprt_puthdr(smb_session_t *session, smb_xprt_t *hdr,
static void
smb_request_init_command_mbuf(smb_request_t *sr)
{
- MGET(sr->command.chain, 0, MT_DATA);
/*
- * Setup mbuf, mimic MCLGET but use the complete packet buffer.
+ * Setup mbuf using the buffer we allocated.
*/
- sr->command.chain->m_ext.ext_buf = sr->sr_request_buf;
- sr->command.chain->m_data = sr->command.chain->m_ext.ext_buf;
- sr->command.chain->m_len = sr->sr_req_length;
- sr->command.chain->m_flags |= M_EXT;
- sr->command.chain->m_ext.ext_size = sr->sr_req_length;
- sr->command.chain->m_ext.ext_ref = &mclrefnoop;
+ MBC_ATTACH_BUF(&sr->command, sr->sr_request_buf, sr->sr_req_length);
- /*
- * Initialize the rest of the mbuf_chain fields
- */
sr->command.flags = 0;
- sr->command.shadow_of = 0;
- sr->command.max_bytes = sr->sr_req_length;
- sr->command.chain_offset = 0;
+ sr->command.shadow_of = NULL;
}
/*