<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/scsi, branch v3.10.78</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>3w-sas: fix command completion race</title>
<updated>2015-05-13T12:15:42+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2015-04-23T07:48:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7332f3217887bf622efd06ef39e59dbae60d63e3'/>
<id>7332f3217887bf622efd06ef39e59dbae60d63e3</id>
<content type='text'>
commit 579d69bc1fd56d5af5761969aa529d1d1c188300 upstream.

The 3w-sas driver needs to tear down the dma mappings before returning
the command to the midlayer, as there is no guarantee the sglist and
count are valid after that point.  Also remove the dma mapping helpers
which have another inherent race due to the request_id index.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reported-by: Torsten Luettgert &lt;ml-lkml@enda.eu&gt;
Tested-by: Bernd Kardatzki &lt;Bernd.Kardatzki@med.uni-tuebingen.de&gt;
Acked-by: Adam Radford &lt;aradford@gmail.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 579d69bc1fd56d5af5761969aa529d1d1c188300 upstream.

The 3w-sas driver needs to tear down the dma mappings before returning
the command to the midlayer, as there is no guarantee the sglist and
count are valid after that point.  Also remove the dma mapping helpers
which have another inherent race due to the request_id index.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reported-by: Torsten Luettgert &lt;ml-lkml@enda.eu&gt;
Tested-by: Bernd Kardatzki &lt;Bernd.Kardatzki@med.uni-tuebingen.de&gt;
Acked-by: Adam Radford &lt;aradford@gmail.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>3w-9xxx: fix command completion race</title>
<updated>2015-05-13T12:15:42+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2015-04-23T07:48:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ea5f56ae530677ac4a671c6aff9f0c270b1b12ad'/>
<id>ea5f56ae530677ac4a671c6aff9f0c270b1b12ad</id>
<content type='text'>
commit 118c855b5623f3e2e6204f02623d88c09e0c34de upstream.

The 3w-9xxx driver needs to tear down the dma mappings before returning
the command to the midlayer, as there is no guarantee the sglist and
count are valid after that point.  Also remove the dma mapping helpers
which have another inherent race due to the request_id index.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Adam Radford &lt;aradford@gmail.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 118c855b5623f3e2e6204f02623d88c09e0c34de upstream.

The 3w-9xxx driver needs to tear down the dma mappings before returning
the command to the midlayer, as there is no guarantee the sglist and
count are valid after that point.  Also remove the dma mapping helpers
which have another inherent race due to the request_id index.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Adam Radford &lt;aradford@gmail.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>3w-xxxx: fix command completion race</title>
<updated>2015-05-13T12:15:42+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2015-04-23T07:48:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1dff8de4ceeab5ea88372ec10966faa8e5817d51'/>
<id>1dff8de4ceeab5ea88372ec10966faa8e5817d51</id>
<content type='text'>
commit 9cd9554615cba14f0877cc9972a6537ad2bdde61 upstream.

The 3w-xxxx driver needs to tear down the dma mappings before returning
the command to the midlayer, as there is no guarantee the sglist and
count are valid after that point.  Also remove the dma mapping helpers
which have another inherent race due to the request_id index.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Adam Radford &lt;aradford@gmail.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 9cd9554615cba14f0877cc9972a6537ad2bdde61 upstream.

The 3w-xxxx driver needs to tear down the dma mappings before returning
the command to the midlayer, as there is no guarantee the sglist and
count are valid after that point.  Also remove the dma mapping helpers
which have another inherent race due to the request_id index.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Adam Radford &lt;aradford@gmail.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>mvsas: fix panic on expander attached SATA devices</title>
<updated>2015-05-06T19:56:27+00:00</updated>
<author>
<name>James Bottomley</name>
<email>JBottomley@Odin.com</email>
</author>
<published>2015-04-16T05:16:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=62d37cc41178d2f0f8df6785e7a89e123154b278'/>
<id>62d37cc41178d2f0f8df6785e7a89e123154b278</id>
<content type='text'>
commit 56cbd0ccc1b508de19561211d7ab9e1c77e6b384 upstream.

mvsas is giving a General protection fault when it encounters an expander
attached ATA device.  Analysis of mvs_task_prep_ata() shows that the driver is
assuming all ATA devices are locally attached and obtaining the phy mask by
indexing the local phy table (in the HBA structure) with the phy id.  Since
expanders have many more phys than the HBA, this is causing the index into the
HBA phy table to overflow and returning rubbish as the pointer.

mvs_task_prep_ssp() instead does the phy mask using the port properties.
Mirror this in mvs_task_prep_ata() to fix the panic.

Reported-by: Adam Talbot &lt;ajtalbot1@gmail.com&gt;
Tested-by: Adam Talbot &lt;ajtalbot1@gmail.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 56cbd0ccc1b508de19561211d7ab9e1c77e6b384 upstream.

mvsas is giving a General protection fault when it encounters an expander
attached ATA device.  Analysis of mvs_task_prep_ata() shows that the driver is
assuming all ATA devices are locally attached and obtaining the phy mask by
indexing the local phy table (in the HBA structure) with the phy id.  Since
expanders have many more phys than the HBA, this is causing the index into the
HBA phy table to overflow and returning rubbish as the pointer.

mvs_task_prep_ssp() instead does the phy mask using the port properties.
Mirror this in mvs_task_prep_ata() to fix the panic.

Reported-by: Adam Talbot &lt;ajtalbot1@gmail.com&gt;
Tested-by: Adam Talbot &lt;ajtalbot1@gmail.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>scsi: storvsc: Fix a bug in copy_from_bounce_buffer()</title>
<updated>2015-05-06T19:56:26+00:00</updated>
<author>
<name>K. Y. Srinivasan</name>
<email>kys@microsoft.com</email>
</author>
<published>2015-03-27T07:27:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7c906f0661e74cb0b1b8872f256e1f0014c82fd4'/>
<id>7c906f0661e74cb0b1b8872f256e1f0014c82fd4</id>
<content type='text'>
commit 8de580742fee8bc34d116f57a20b22b9a5f08403 upstream.

We may exit this function without properly freeing up the maapings
we may have acquired. Fix the bug.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Reviewed-by: Long Li &lt;longli@microsoft.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 8de580742fee8bc34d116f57a20b22b9a5f08403 upstream.

We may exit this function without properly freeing up the maapings
we may have acquired. Fix the bug.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Reviewed-by: Long Li &lt;longli@microsoft.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>be2iscsi: Fix kernel panic when device initialization fails</title>
<updated>2015-04-19T08:10:50+00:00</updated>
<author>
<name>John Soni Jose</name>
<email>sony.john-n@emulex.com</email>
</author>
<published>2015-02-12T01:15:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=054fa2f11b8458100b7c839a728f0439be863740'/>
<id>054fa2f11b8458100b7c839a728f0439be863740</id>
<content type='text'>
commit 2e7cee027b26cbe7e6685a7a14bd2850bfe55d33 upstream.

Kernel panic was happening as iscsi_host_remove() was called on
a host which was not yet added.

Signed-off-by: John Soni Jose &lt;sony.john-n@emulex.com&gt;
Reviewed-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 2e7cee027b26cbe7e6685a7a14bd2850bfe55d33 upstream.

Kernel panic was happening as iscsi_host_remove() was called on
a host which was not yet added.

Signed-off-by: John Soni Jose &lt;sony.john-n@emulex.com&gt;
Reviewed-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Defer processing of REQ_PREEMPT requests for blocked devices</title>
<updated>2015-04-19T08:10:49+00:00</updated>
<author>
<name>Bart Van Assche</name>
<email>bart.vanassche@sandisk.com</email>
</author>
<published>2015-03-04T09:31:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3e01cca39c3eef60046d0dc922bfe1a275a18f51'/>
<id>3e01cca39c3eef60046d0dc922bfe1a275a18f51</id>
<content type='text'>
commit bba0bdd7ad4713d82338bcd9b72d57e9335a664b upstream.

SCSI transport drivers and SCSI LLDs block a SCSI device if the
transport layer is not operational. This means that in this state
no requests should be processed, even if the REQ_PREEMPT flag has
been set. This patch avoids that a rescan shortly after a cable
pull sporadically triggers the following kernel oops:

BUG: unable to handle kernel paging request at ffffc9001a6bc084
IP: [&lt;ffffffffa04e08f2&gt;] mlx4_ib_post_send+0xd2/0xb30 [mlx4_ib]
Process rescan-scsi-bus (pid: 9241, threadinfo ffff88053484a000, task ffff880534aae100)
Call Trace:
 [&lt;ffffffffa0718135&gt;] srp_post_send+0x65/0x70 [ib_srp]
 [&lt;ffffffffa071b9df&gt;] srp_queuecommand+0x1cf/0x3e0 [ib_srp]
 [&lt;ffffffffa0001ff1&gt;] scsi_dispatch_cmd+0x101/0x280 [scsi_mod]
 [&lt;ffffffffa0009ad1&gt;] scsi_request_fn+0x411/0x4d0 [scsi_mod]
 [&lt;ffffffff81223b37&gt;] __blk_run_queue+0x27/0x30
 [&lt;ffffffff8122a8d2&gt;] blk_execute_rq_nowait+0x82/0x110
 [&lt;ffffffff8122a9c2&gt;] blk_execute_rq+0x62/0xf0
 [&lt;ffffffffa000b0e8&gt;] scsi_execute+0xe8/0x190 [scsi_mod]
 [&lt;ffffffffa000b2f3&gt;] scsi_execute_req+0xa3/0x130 [scsi_mod]
 [&lt;ffffffffa000c1aa&gt;] scsi_probe_lun+0x17a/0x450 [scsi_mod]
 [&lt;ffffffffa000ce86&gt;] scsi_probe_and_add_lun+0x156/0x480 [scsi_mod]
 [&lt;ffffffffa000dc2f&gt;] __scsi_scan_target+0xdf/0x1f0 [scsi_mod]
 [&lt;ffffffffa000dfa3&gt;] scsi_scan_host_selected+0x183/0x1c0 [scsi_mod]
 [&lt;ffffffffa000edfb&gt;] scsi_scan+0xdb/0xe0 [scsi_mod]
 [&lt;ffffffffa000ee13&gt;] store_scan+0x13/0x20 [scsi_mod]
 [&lt;ffffffff811c8d9b&gt;] sysfs_write_file+0xcb/0x160
 [&lt;ffffffff811589de&gt;] vfs_write+0xce/0x140
 [&lt;ffffffff81158b53&gt;] sys_write+0x53/0xa0
 [&lt;ffffffff81464592&gt;] system_call_fastpath+0x16/0x1b
 [&lt;00007f611c9d9300&gt;] 0x7f611c9d92ff

Reported-by: Max Gurtuvoy &lt;maxg@mellanox.com&gt;
Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Reviewed-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit bba0bdd7ad4713d82338bcd9b72d57e9335a664b upstream.

SCSI transport drivers and SCSI LLDs block a SCSI device if the
transport layer is not operational. This means that in this state
no requests should be processed, even if the REQ_PREEMPT flag has
been set. This patch avoids that a rescan shortly after a cable
pull sporadically triggers the following kernel oops:

BUG: unable to handle kernel paging request at ffffc9001a6bc084
IP: [&lt;ffffffffa04e08f2&gt;] mlx4_ib_post_send+0xd2/0xb30 [mlx4_ib]
Process rescan-scsi-bus (pid: 9241, threadinfo ffff88053484a000, task ffff880534aae100)
Call Trace:
 [&lt;ffffffffa0718135&gt;] srp_post_send+0x65/0x70 [ib_srp]
 [&lt;ffffffffa071b9df&gt;] srp_queuecommand+0x1cf/0x3e0 [ib_srp]
 [&lt;ffffffffa0001ff1&gt;] scsi_dispatch_cmd+0x101/0x280 [scsi_mod]
 [&lt;ffffffffa0009ad1&gt;] scsi_request_fn+0x411/0x4d0 [scsi_mod]
 [&lt;ffffffff81223b37&gt;] __blk_run_queue+0x27/0x30
 [&lt;ffffffff8122a8d2&gt;] blk_execute_rq_nowait+0x82/0x110
 [&lt;ffffffff8122a9c2&gt;] blk_execute_rq+0x62/0xf0
 [&lt;ffffffffa000b0e8&gt;] scsi_execute+0xe8/0x190 [scsi_mod]
 [&lt;ffffffffa000b2f3&gt;] scsi_execute_req+0xa3/0x130 [scsi_mod]
 [&lt;ffffffffa000c1aa&gt;] scsi_probe_lun+0x17a/0x450 [scsi_mod]
 [&lt;ffffffffa000ce86&gt;] scsi_probe_and_add_lun+0x156/0x480 [scsi_mod]
 [&lt;ffffffffa000dc2f&gt;] __scsi_scan_target+0xdf/0x1f0 [scsi_mod]
 [&lt;ffffffffa000dfa3&gt;] scsi_scan_host_selected+0x183/0x1c0 [scsi_mod]
 [&lt;ffffffffa000edfb&gt;] scsi_scan+0xdb/0xe0 [scsi_mod]
 [&lt;ffffffffa000ee13&gt;] store_scan+0x13/0x20 [scsi_mod]
 [&lt;ffffffff811c8d9b&gt;] sysfs_write_file+0xcb/0x160
 [&lt;ffffffff811589de&gt;] vfs_write+0xce/0x140
 [&lt;ffffffff81158b53&gt;] sys_write+0x53/0xa0
 [&lt;ffffffff81464592&gt;] system_call_fastpath+0x16/0x1b
 [&lt;00007f611c9d9300&gt;] 0x7f611c9d92ff

Reported-by: Max Gurtuvoy &lt;maxg@mellanox.com&gt;
Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Reviewed-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>tcm_qla2xxx: Fix incorrect use of __transport_register_session</title>
<updated>2015-04-13T12:02:11+00:00</updated>
<author>
<name>Bart Van Assche</name>
<email>bart.vanassche@sandisk.com</email>
</author>
<published>2015-03-20T05:25:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7a882133b181058ba7851e302ec218a896695c55'/>
<id>7a882133b181058ba7851e302ec218a896695c55</id>
<content type='text'>
commit 75c3d0bf9caebb502e96683b2bc37f9692437e68 upstream.

This patch fixes the incorrect use of __transport_register_session()
in tcm_qla2xxx_check_initiator_node_acl() code, that does not perform
explicit se_tpg-&gt;session_lock when accessing se_tpg-&gt;tpg_sess_list
to add new se_sess nodes.

Given that tcm_qla2xxx_check_initiator_node_acl() is not called with
qla_hw-&gt;hardware_lock held for all accesses of -&gt;tpg_sess_list, the
code should be using transport_register_session() instead.

Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Cc: Giridhar Malavali &lt;giridhar.malavali@qlogic.com&gt;
Cc: Quinn Tran &lt;quinn.tran@qlogic.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 75c3d0bf9caebb502e96683b2bc37f9692437e68 upstream.

This patch fixes the incorrect use of __transport_register_session()
in tcm_qla2xxx_check_initiator_node_acl() code, that does not perform
explicit se_tpg-&gt;session_lock when accessing se_tpg-&gt;tpg_sess_list
to add new se_sess nodes.

Given that tcm_qla2xxx_check_initiator_node_acl() is not called with
qla_hw-&gt;hardware_lock held for all accesses of -&gt;tpg_sess_list, the
code should be using transport_register_session() instead.

Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Cc: Giridhar Malavali &lt;giridhar.malavali@qlogic.com&gt;
Cc: Quinn Tran &lt;quinn.tran@qlogic.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>libsas: Fix Kernel Crash in smp_execute_task</title>
<updated>2015-03-26T14:01:00+00:00</updated>
<author>
<name>James Bottomley</name>
<email>JBottomley@Parallels.com</email>
</author>
<published>2015-03-05T00:18:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e2e35381f37b4d110add16aa2ca52a19801219c4'/>
<id>e2e35381f37b4d110add16aa2ca52a19801219c4</id>
<content type='text'>
commit 6302ce4d80aa82b3fdb5c5cd68e7268037091b47 upstream.

This crash was reported:

[  366.947370] sd 3:0:1:0: [sdb] Spinning up disk....
[  368.804046] BUG: unable to handle kernel NULL pointer dereference at           (null)
[  368.804072] IP: [&lt;ffffffff81358457&gt;] __mutex_lock_common.isra.7+0x9c/0x15b
[  368.804098] PGD 0
[  368.804114] Oops: 0002 [#1] SMP
[  368.804143] CPU 1
[  368.804151] Modules linked in: sg netconsole s3g(PO) uinput joydev hid_multitouch usbhid hid snd_hda_codec_via cpufreq_userspace cpufreq_powersave cpufreq_stats uhci_hcd cpufreq_conservative snd_hda_intel snd_hda_codec snd_hwdep snd_pcm sdhci_pci snd_page_alloc sdhci snd_timer snd psmouse evdev serio_raw pcspkr soundcore xhci_hcd shpchp s3g_drm(O) mvsas mmc_core ahci libahci drm i2c_core acpi_cpufreq mperf video processor button thermal_sys dm_dmirror exfat_fs exfat_core dm_zcache dm_mod padlock_aes aes_generic padlock_sha iscsi_target_mod target_core_mod configfs sswipe libsas libata scsi_transport_sas picdev via_cputemp hwmon_vid fuse parport_pc ppdev lp parport autofs4 ext4 crc16 mbcache jbd2 sd_mod crc_t10dif usb_storage scsi_mod ehci_hcd usbcore usb_common
[  368.804749]
[  368.804764] Pid: 392, comm: kworker/u:3 Tainted: P        W  O 3.4.87-logicube-ng.22 #1 To be filled by O.E.M. To be filled by O.E.M./EPIA-M920
[  368.804802] RIP: 0010:[&lt;ffffffff81358457&gt;]  [&lt;ffffffff81358457&gt;] __mutex_lock_common.isra.7+0x9c/0x15b
[  368.804827] RSP: 0018:ffff880117001cc0  EFLAGS: 00010246
[  368.804842] RAX: 0000000000000000 RBX: ffff8801185030d0 RCX: ffff88008edcb420
[  368.804857] RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff8801185030d4
[  368.804873] RBP: ffff8801181531c0 R08: 0000000000000020 R09: 00000000fffffffe
[  368.804885] R10: 0000000000000000 R11: 0000000000000000 R12: ffff8801185030d4
[  368.804899] R13: 0000000000000002 R14: ffff880117001fd8 R15: ffff8801185030d8
[  368.804916] FS:  0000000000000000(0000) GS:ffff88011fc80000(0000) knlGS:0000000000000000
[  368.804931] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[  368.804946] CR2: 0000000000000000 CR3: 000000000160b000 CR4: 00000000000006e0
[  368.804962] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  368.804978] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[  368.804995] Process kworker/u:3 (pid: 392, threadinfo ffff880117000000, task ffff8801181531c0)
[  368.805009] Stack:
[  368.805017]  ffff8801185030d8 0000000000000000 ffffffff8161ddf0 ffffffff81056f7c
[  368.805062]  000000000000b503 ffff8801185030d0 ffff880118503000 0000000000000000
[  368.805100]  ffff8801185030d0 ffff8801188b8000 ffff88008edcb420 ffffffff813583ac
[  368.805135] Call Trace:
[  368.805153]  [&lt;ffffffff81056f7c&gt;] ? up+0xb/0x33
[  368.805168]  [&lt;ffffffff813583ac&gt;] ? mutex_lock+0x16/0x25
[  368.805194]  [&lt;ffffffffa018c414&gt;] ? smp_execute_task+0x4e/0x222 [libsas]
[  368.805217]  [&lt;ffffffffa018ce1c&gt;] ? sas_find_bcast_dev+0x3c/0x15d [libsas]
[  368.805240]  [&lt;ffffffffa018ce4f&gt;] ? sas_find_bcast_dev+0x6f/0x15d [libsas]
[  368.805264]  [&lt;ffffffffa018e989&gt;] ? sas_ex_revalidate_domain+0x37/0x2ec [libsas]
[  368.805280]  [&lt;ffffffff81355a2a&gt;] ? printk+0x43/0x48
[  368.805296]  [&lt;ffffffff81359a65&gt;] ? _raw_spin_unlock_irqrestore+0xc/0xd
[  368.805318]  [&lt;ffffffffa018b767&gt;] ? sas_revalidate_domain+0x85/0xb6 [libsas]
[  368.805336]  [&lt;ffffffff8104e5d9&gt;] ? process_one_work+0x151/0x27c
[  368.805351]  [&lt;ffffffff8104f6cd&gt;] ? worker_thread+0xbb/0x152
[  368.805366]  [&lt;ffffffff8104f612&gt;] ? manage_workers.isra.29+0x163/0x163
[  368.805382]  [&lt;ffffffff81052c4e&gt;] ? kthread+0x79/0x81
[  368.805399]  [&lt;ffffffff8135fea4&gt;] ? kernel_thread_helper+0x4/0x10
[  368.805416]  [&lt;ffffffff81052bd5&gt;] ? kthread_flush_work_fn+0x9/0x9
[  368.805431]  [&lt;ffffffff8135fea0&gt;] ? gs_change+0x13/0x13
[  368.805442] Code: 83 7d 30 63 7e 04 f3 90 eb ab 4c 8d 63 04 4c 8d 7b 08 4c 89 e7 e8 fa 15 00 00 48 8b 43 10 4c 89 3c 24 48 89 63 10 48 89 44 24 08 &lt;48&gt; 89 20 83 c8 ff 48 89 6c 24 10 87 03 ff c8 74 35 4d 89 ee 41
[  368.805851] RIP  [&lt;ffffffff81358457&gt;] __mutex_lock_common.isra.7+0x9c/0x15b
[  368.805877]  RSP &lt;ffff880117001cc0&gt;
[  368.805886] CR2: 0000000000000000
[  368.805899] ---[ end trace b720682065d8f4cc ]---

It's directly caused by 89d3cf6 [SCSI] libsas: add mutex for SMP task
execution, but shows a deeper cause: expander functions expect to be able to
cast to and treat domain devices as expanders.  The correct fix is to only do
expander discover when we know we've got an expander device to avoid wrongly
casting a non-expander device.

Reported-by: Praveen Murali &lt;pmurali@logicube.com&gt;
Tested-by: Praveen Murali &lt;pmurali@logicube.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 6302ce4d80aa82b3fdb5c5cd68e7268037091b47 upstream.

This crash was reported:

[  366.947370] sd 3:0:1:0: [sdb] Spinning up disk....
[  368.804046] BUG: unable to handle kernel NULL pointer dereference at           (null)
[  368.804072] IP: [&lt;ffffffff81358457&gt;] __mutex_lock_common.isra.7+0x9c/0x15b
[  368.804098] PGD 0
[  368.804114] Oops: 0002 [#1] SMP
[  368.804143] CPU 1
[  368.804151] Modules linked in: sg netconsole s3g(PO) uinput joydev hid_multitouch usbhid hid snd_hda_codec_via cpufreq_userspace cpufreq_powersave cpufreq_stats uhci_hcd cpufreq_conservative snd_hda_intel snd_hda_codec snd_hwdep snd_pcm sdhci_pci snd_page_alloc sdhci snd_timer snd psmouse evdev serio_raw pcspkr soundcore xhci_hcd shpchp s3g_drm(O) mvsas mmc_core ahci libahci drm i2c_core acpi_cpufreq mperf video processor button thermal_sys dm_dmirror exfat_fs exfat_core dm_zcache dm_mod padlock_aes aes_generic padlock_sha iscsi_target_mod target_core_mod configfs sswipe libsas libata scsi_transport_sas picdev via_cputemp hwmon_vid fuse parport_pc ppdev lp parport autofs4 ext4 crc16 mbcache jbd2 sd_mod crc_t10dif usb_storage scsi_mod ehci_hcd usbcore usb_common
[  368.804749]
[  368.804764] Pid: 392, comm: kworker/u:3 Tainted: P        W  O 3.4.87-logicube-ng.22 #1 To be filled by O.E.M. To be filled by O.E.M./EPIA-M920
[  368.804802] RIP: 0010:[&lt;ffffffff81358457&gt;]  [&lt;ffffffff81358457&gt;] __mutex_lock_common.isra.7+0x9c/0x15b
[  368.804827] RSP: 0018:ffff880117001cc0  EFLAGS: 00010246
[  368.804842] RAX: 0000000000000000 RBX: ffff8801185030d0 RCX: ffff88008edcb420
[  368.804857] RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff8801185030d4
[  368.804873] RBP: ffff8801181531c0 R08: 0000000000000020 R09: 00000000fffffffe
[  368.804885] R10: 0000000000000000 R11: 0000000000000000 R12: ffff8801185030d4
[  368.804899] R13: 0000000000000002 R14: ffff880117001fd8 R15: ffff8801185030d8
[  368.804916] FS:  0000000000000000(0000) GS:ffff88011fc80000(0000) knlGS:0000000000000000
[  368.804931] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[  368.804946] CR2: 0000000000000000 CR3: 000000000160b000 CR4: 00000000000006e0
[  368.804962] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  368.804978] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[  368.804995] Process kworker/u:3 (pid: 392, threadinfo ffff880117000000, task ffff8801181531c0)
[  368.805009] Stack:
[  368.805017]  ffff8801185030d8 0000000000000000 ffffffff8161ddf0 ffffffff81056f7c
[  368.805062]  000000000000b503 ffff8801185030d0 ffff880118503000 0000000000000000
[  368.805100]  ffff8801185030d0 ffff8801188b8000 ffff88008edcb420 ffffffff813583ac
[  368.805135] Call Trace:
[  368.805153]  [&lt;ffffffff81056f7c&gt;] ? up+0xb/0x33
[  368.805168]  [&lt;ffffffff813583ac&gt;] ? mutex_lock+0x16/0x25
[  368.805194]  [&lt;ffffffffa018c414&gt;] ? smp_execute_task+0x4e/0x222 [libsas]
[  368.805217]  [&lt;ffffffffa018ce1c&gt;] ? sas_find_bcast_dev+0x3c/0x15d [libsas]
[  368.805240]  [&lt;ffffffffa018ce4f&gt;] ? sas_find_bcast_dev+0x6f/0x15d [libsas]
[  368.805264]  [&lt;ffffffffa018e989&gt;] ? sas_ex_revalidate_domain+0x37/0x2ec [libsas]
[  368.805280]  [&lt;ffffffff81355a2a&gt;] ? printk+0x43/0x48
[  368.805296]  [&lt;ffffffff81359a65&gt;] ? _raw_spin_unlock_irqrestore+0xc/0xd
[  368.805318]  [&lt;ffffffffa018b767&gt;] ? sas_revalidate_domain+0x85/0xb6 [libsas]
[  368.805336]  [&lt;ffffffff8104e5d9&gt;] ? process_one_work+0x151/0x27c
[  368.805351]  [&lt;ffffffff8104f6cd&gt;] ? worker_thread+0xbb/0x152
[  368.805366]  [&lt;ffffffff8104f612&gt;] ? manage_workers.isra.29+0x163/0x163
[  368.805382]  [&lt;ffffffff81052c4e&gt;] ? kthread+0x79/0x81
[  368.805399]  [&lt;ffffffff8135fea4&gt;] ? kernel_thread_helper+0x4/0x10
[  368.805416]  [&lt;ffffffff81052bd5&gt;] ? kthread_flush_work_fn+0x9/0x9
[  368.805431]  [&lt;ffffffff8135fea0&gt;] ? gs_change+0x13/0x13
[  368.805442] Code: 83 7d 30 63 7e 04 f3 90 eb ab 4c 8d 63 04 4c 8d 7b 08 4c 89 e7 e8 fa 15 00 00 48 8b 43 10 4c 89 3c 24 48 89 63 10 48 89 44 24 08 &lt;48&gt; 89 20 83 c8 ff 48 89 6c 24 10 87 03 ff c8 74 35 4d 89 ee 41
[  368.805851] RIP  [&lt;ffffffff81358457&gt;] __mutex_lock_common.isra.7+0x9c/0x15b
[  368.805877]  RSP &lt;ffff880117001cc0&gt;
[  368.805886] CR2: 0000000000000000
[  368.805899] ---[ end trace b720682065d8f4cc ]---

It's directly caused by 89d3cf6 [SCSI] libsas: add mutex for SMP task
execution, but shows a deeper cause: expander functions expect to be able to
cast to and treat domain devices as expanders.  The correct fix is to only do
expander discover when we know we've got an expander device to avoid wrongly
casting a non-expander device.

Reported-by: Praveen Murali &lt;pmurali@logicube.com&gt;
Tested-by: Praveen Murali &lt;pmurali@logicube.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>fixed invalid assignment of 64bit mask to host dma_boundary for scatter gather segment boundary limit.</title>
<updated>2015-03-18T12:22:34+00:00</updated>
<author>
<name>Minh Duc Tran</name>
<email>MinhDuc.Tran@Emulex.Com</email>
</author>
<published>2015-02-09T18:54:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=28e75102ed1fbc6529751865b6b12070cb161b8d'/>
<id>28e75102ed1fbc6529751865b6b12070cb161b8d</id>
<content type='text'>
commit f76a610a8b4b6280eaedf48f3af9d5d74e418b66 upstream.

In reference to bug https://bugzilla.redhat.com/show_bug.cgi?id=1097141
Assert is seen with AMD cpu whenever calling pci_alloc_consistent.

[   29.406183] ------------[ cut here ]------------
[   29.410505] kernel BUG at lib/iommu-helper.c:13!

Signed-off-by: Minh Tran &lt;minh.tran@emulex.com&gt;
Fixes: 6733b39a1301b0b020bbcbf3295852e93e624cb1
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f76a610a8b4b6280eaedf48f3af9d5d74e418b66 upstream.

In reference to bug https://bugzilla.redhat.com/show_bug.cgi?id=1097141
Assert is seen with AMD cpu whenever calling pci_alloc_consistent.

[   29.406183] ------------[ cut here ]------------
[   29.410505] kernel BUG at lib/iommu-helper.c:13!

Signed-off-by: Minh Tran &lt;minh.tran@emulex.com&gt;
Fixes: 6733b39a1301b0b020bbcbf3295852e93e624cb1
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
</feed>
