<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/dev/mpt, branch stable/10</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=stable%2F10</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=stable%2F10'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2017-03-23T06:55:32Z</updated>
<entry>
<title>MFC r315067: Partially fix target task management requests handling.</title>
<updated>2017-03-23T06:55:32Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-23T06:55:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=96f1383729678ae7da15671f776e142342044fd9'/>
<id>urn:sha1:96f1383729678ae7da15671f776e142342044fd9</id>
<content type='text'>
 - XPT_NOTIFY_ACKNOWLEDGE was not handled, causing stuck requests.
 - XPT_ABORT was not even trying to abort active ATIOs/INOTs.
 - Initiator's tag was not stored and not used where needed.
 - List of TM request types needed update.
 - mpt_scsi_tgt_status() missed some useful debugging.

After this change global TM requests, such as reset, should work properly.
ABORT TASK (ABTS) requests are still not passes to CTL, that is not good
and should be fixed.
</content>
</entry>
<entry>
<title>MFC r315004: Add PIM_EXTLUNS support to mpt(4).</title>
<updated>2017-03-23T06:52:29Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-23T06:52:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=d1247da352786fc558a4aeb63f64f21f3ec5e028'/>
<id>urn:sha1:d1247da352786fc558a4aeb63f64f21f3ec5e028</id>
<content type='text'>
Target mode is still limited to 256 LUNs due to the way driver is written,
but initiator can now use full 8 byte LUN space.
</content>
</entry>
<entry>
<title>MFC r315002: Improve residuals reporting in target mode.</title>
<updated>2017-03-23T06:50:46Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-23T06:50:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0cfa89a7f096e5f3f15d9847af34fc5ae4240d28'/>
<id>urn:sha1:0cfa89a7f096e5f3f15d9847af34fc5ae4240d28</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFC r314998: Fix FC target mode in mpt(4), broken in multiple ways.</title>
<updated>2017-03-23T06:49:01Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-23T06:49:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=775c1ec2be045cfb85f13215a0bc840894aac07f'/>
<id>urn:sha1:775c1ec2be045cfb85f13215a0bc840894aac07f</id>
<content type='text'>
 - Not set BufferLength caused receive of empty ATIOs.
 - CDB length guessing was broken at least for RC16.
 - mpt_req_untimeout() was called with wrong req parameter.
 - Sense data reporting was broken in several ways.

With this change my LSI7204EP-LC can pass at least basic tests as target.
The code is still far from perfect, but finally I found second hw/driver
after isp(4) that really can work in CAM target mode.
</content>
</entry>
<entry>
<title>MFC r314967: Add support for XPT_GET_SIM_KNOB in FC mode.</title>
<updated>2017-03-23T06:47:48Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-23T06:47:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=c2eab4ca18270342889c63e181ef77acfe7b8ca7'/>
<id>urn:sha1:c2eab4ca18270342889c63e181ef77acfe7b8ca7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFC r314968: Report some more data in XPT_PATH_INQ.</title>
<updated>2017-03-23T06:45:57Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-23T06:45:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=1695c01b5bb675212584c17a04530e682480816b'/>
<id>urn:sha1:1695c01b5bb675212584c17a04530e682480816b</id>
<content type='text'>
I am not sure they are used anywhere, but why not.
</content>
</entry>
<entry>
<title>MFC r314966: Report FC link speed.</title>
<updated>2017-03-23T06:42:27Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-23T06:42:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=2253da04cf70a6f40233b816354511226574070e'/>
<id>urn:sha1:2253da04cf70a6f40233b816354511226574070e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFC r311305 (by asomers):</title>
<updated>2017-03-23T06:41:13Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-23T06:41:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=63a2397e28702b82eca0410a0a7db8f60fc51215'/>
<id>urn:sha1:63a2397e28702b82eca0410a0a7db8f60fc51215</id>
<content type='text'>
Always null-terminate ccb_pathinq.(sim_vid|hba_vid|dev_name)

The sim_vid, hba_vid, and dev_name fields of struct ccb_pathinq are
fixed-length strings. AFAICT the only place they're read is in
sbin/camcontrol/camcontrol.c, which assumes they'll be null-terminated.
However, the kernel doesn't null-terminate them. A bunch of copy-pasted code
uses strncpy to write them, and doesn't guarantee null-termination. For at
least 4 drivers (mpr, mps, ciss, and hyperv), the hba_vid field actually
overflows. You can see the result by doing "camcontrol negotiate da0 -v".

This change null-terminates those fields everywhere they're set in the
kernel. It also shortens a few strings to ensure they'll fit within the
16-character field.

PR:             215474
Reported by:    Coverity
CID:            1009997 1010000 1010001 1010002 1010003 1010004 1010005
CID:            1331519 1010006 1215097 1010007 1288967 1010008 1306000
CID:            1211924 1010009 1010010 1010011 1010012 1010013 1010014
CID:            1147190 1010017 1010016 1010018 1216435 1010020 1010021
CID:            1010022 1009666 1018185 1010023 1010025 1010026 1010027
CID:            1010028 1010029 1010030 1010031 1010033 1018186 1018187
CID:            1010035 1010036 1010042 1010041 1010040 1010039
</content>
</entry>
<entry>
<title>MFC r308423 (by scottl):</title>
<updated>2017-03-23T06:37:23Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-23T06:37:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=8aaf841ffb665ead3cf2ea877c0e26f4d935438e'/>
<id>urn:sha1:8aaf841ffb665ead3cf2ea877c0e26f4d935438e</id>
<content type='text'>
Fix the fallout from r308268 (mpt driver causes endless witness warnings in
VMWare and elsewhere) with the precision of a dull, rusty butter knife.
</content>
</entry>
<entry>
<title>MFC r303874 (by trasz):</title>
<updated>2017-03-23T06:34:45Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-23T06:34:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=8b0f3056188bb05b5c4ddc6f4afe6c23b64d28d9'/>
<id>urn:sha1:8b0f3056188bb05b5c4ddc6f4afe6c23b64d28d9</id>
<content type='text'>
Remove NULL check after M_WAITOK allocation from mpt(4).
</content>
</entry>
</feed>
