<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/scsi/libiscsi.c, branch v4.14</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>scsi: libiscsi: fix shifting of DID_REQUEUE host byte</title>
<updated>2017-10-11T17:32:35+00:00</updated>
<author>
<name>Johannes Thumshirn</name>
<email>jthumshirn@suse.de</email>
</author>
<published>2017-10-09T11:33:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=eef9ffdf9cd39b2986367bc8395e2772bc1284ba'/>
<id>eef9ffdf9cd39b2986367bc8395e2772bc1284ba</id>
<content type='text'>
The SCSI host byte should be shifted left by 16 in order to have
scsi_decide_disposition() do the right thing (.i.e. requeue the
command).

Signed-off-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Fixes: 661134ad3765 ("[SCSI] libiscsi, bnx2i: make bound ep check common")
Cc: Lee Duncan &lt;lduncan@suse.com&gt;
Cc: Hannes Reinecke &lt;hare@suse.de&gt;
Cc: Bart Van Assche &lt;Bart.VanAssche@sandisk.com&gt;
Cc: Chris Leech &lt;cleech@redhat.com&gt;
Acked-by: Lee Duncan &lt;lduncan@suse.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The SCSI host byte should be shifted left by 16 in order to have
scsi_decide_disposition() do the right thing (.i.e. requeue the
command).

Signed-off-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Fixes: 661134ad3765 ("[SCSI] libiscsi, bnx2i: make bound ep check common")
Cc: Lee Duncan &lt;lduncan@suse.com&gt;
Cc: Hannes Reinecke &lt;hare@suse.de&gt;
Cc: Bart Van Assche &lt;Bart.VanAssche@sandisk.com&gt;
Cc: Chris Leech &lt;cleech@redhat.com&gt;
Acked-by: Lee Duncan &lt;lduncan@suse.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>scsi: libiscsi: Fix use-after-free race during iscsi_session_teardown</title>
<updated>2017-10-03T02:23:21+00:00</updated>
<author>
<name>Khazhismel Kumykov</name>
<email>khazhy@google.com</email>
</author>
<published>2017-07-13T16:11:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9e10b5121ad991ea6e84ca40b15a04cdc551bfe9'/>
<id>9e10b5121ad991ea6e84ca40b15a04cdc551bfe9</id>
<content type='text'>
Session attributes exposed through sysfs were freed before the device
was destroyed, resulting in a potential use-after-free. Free these
attributes after removing the device.

Signed-off-by: Khazhismel Kumykov &lt;khazhy@google.com&gt;
Acked-by: Chris Leech &lt;cleech@redhat.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Session attributes exposed through sysfs were freed before the device
was destroyed, resulting in a potential use-after-free. Free these
attributes after removing the device.

Signed-off-by: Khazhismel Kumykov &lt;khazhy@google.com&gt;
Acked-by: Chris Leech &lt;cleech@redhat.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>scsi: libiscsi: Fix indentation</title>
<updated>2017-08-25T21:08:08+00:00</updated>
<author>
<name>Bart Van Assche</name>
<email>bart.vanassche@wdc.com</email>
</author>
<published>2017-08-25T20:46:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4dec6a8fc5c23f5a949d6b3853234dc8ae3f0110'/>
<id>4dec6a8fc5c23f5a949d6b3853234dc8ae3f0110</id>
<content type='text'>
This patch avoids that smatch reports the following:

drivers/scsi/libiscsi.c:1081: iscsi_handle_reject() warn: inconsistent indenting

Signed-off-by: Bart Van Assche &lt;bart.vanassche@wdc.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Cc: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch avoids that smatch reports the following:

drivers/scsi/libiscsi.c:1081: iscsi_handle_reject() warn: inconsistent indenting

Signed-off-by: Bart Van Assche &lt;bart.vanassche@wdc.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Cc: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>scsi: libiscsi: use kvzalloc for iscsi_pool_init</title>
<updated>2017-06-13T00:48:04+00:00</updated>
<author>
<name>Kyle Fortin</name>
<email>kyle.fortin@oracle.com</email>
</author>
<published>2017-05-17T20:21:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=bfcc62ed7066268349e8e7955925bdaf4be0eec0'/>
<id>bfcc62ed7066268349e8e7955925bdaf4be0eec0</id>
<content type='text'>
iscsiadm session login can fail with the following error:

iscsiadm: Could not login to [iface: default, target: iqn.1986-03.com...
iscsiadm: initiator reported error (9 - internal error)

When /etc/iscsi/iscsid.conf sets node.session.cmds_max = 4096, it
results in 64K-sized kmallocs per session.  A system under fragmented
slab pressure may not have any 64K objects available and fail iscsiadm
session login. Even though memory objects of a smaller size are
available, the large order allocation ends up failing.

The kernel prints a warning and does dump_stack, like below:

iscsid: page allocation failure: order:4, mode:0xc0d0
CPU: 0 PID: 2456 Comm: iscsid Not tainted 4.1.12-61.1.28.el6uek.x86_64 #2
Call Trace:
 [&lt;ffffffff816c6e40&gt;] dump_stack+0x63/0x83
 [&lt;ffffffff8118e58a&gt;] warn_alloc_failed+0xea/0x140
 [&lt;ffffffff81191df9&gt;] __alloc_pages_slowpath+0x409/0x760
 [&lt;ffffffff81192401&gt;] __alloc_pages_nodemask+0x2b1/0x2d0
 [&lt;ffffffffa048f6c0&gt;] ? dev_attr_host_ipaddress+0x20/0xffffffffffffc722
 [&lt;ffffffff811dc38f&gt;] alloc_pages_current+0xaf/0x170
 [&lt;ffffffff81192581&gt;] alloc_kmem_pages+0x31/0xd0
 [&lt;ffffffffa048f600&gt;] ? iscsi_transport_group+0x20/0xffffffffffffc7e2
 [&lt;ffffffff811ad738&gt;] kmalloc_order+0x18/0x50
 [&lt;ffffffff811ad7a4&gt;] kmalloc_order_trace+0x34/0xe0
 [&lt;ffffffff8146ee30&gt;] ? transport_remove_classdev+0x70/0x70
 [&lt;ffffffff811e843d&gt;] __kmalloc+0x27d/0x2a0
 [&lt;ffffffff810c8cbd&gt;] ? complete_all+0x4d/0x60
 [&lt;ffffffffa04af299&gt;] iscsi_pool_init+0x69/0x160 [libiscsi]
 [&lt;ffffffff81465d90&gt;] ? device_initialize+0xb0/0xd0
 [&lt;ffffffffa04af510&gt;] iscsi_session_setup+0x180/0x2f4 [libiscsi]
 [&lt;ffffffffa04c5a60&gt;] ? iscsi_max_lun+0x20/0xfffffffffffffa9e [iscsi_tcp]
 [&lt;ffffffffa04c531f&gt;] iscsi_sw_tcp_session_create+0xcf/0x150 [iscsi_tcp]
 [&lt;ffffffffa04c5a60&gt;] ? iscsi_max_lun+0x20/0xfffffffffffffa9e [iscsi_tcp]
 [&lt;ffffffffa048a633&gt;] iscsi_if_create_session+0x33/0xd0
 [&lt;ffffffffa04c5a60&gt;] ? iscsi_max_lun+0x20/0xfffffffffffffa9e [iscsi_tcp]
 [&lt;ffffffffa048abd8&gt;] iscsi_if_recv_msg+0x508/0x8c0 [scsi_transport_iscsi]
 [&lt;ffffffff811922eb&gt;] ? __alloc_pages_nodemask+0x19b/0x2d0
 [&lt;ffffffff811e6d69&gt;] ? __kmalloc_node_track_caller+0x209/0x2c0
 [&lt;ffffffffa048b00c&gt;] iscsi_if_rx+0x7c/0x200 [scsi_transport_iscsi]
 [&lt;ffffffff81623dc6&gt;] netlink_unicast+0x126/0x1c0
 [&lt;ffffffff8162468c&gt;] netlink_sendmsg+0x36c/0x400
 [&lt;ffffffff815d2fed&gt;] sock_sendmsg+0x4d/0x60
 [&lt;ffffffff815d596a&gt;] ___sys_sendmsg+0x30a/0x330
 [&lt;ffffffff811bc72c&gt;] ? handle_pte_fault+0x20c/0x230
 [&lt;ffffffff811bc90c&gt;] ? __handle_mm_fault+0x1bc/0x330
 [&lt;ffffffff811bcb32&gt;] ? handle_mm_fault+0xb2/0x1a0
 [&lt;ffffffff815d5b99&gt;] __sys_sendmsg+0x49/0x90
 [&lt;ffffffff815d5bf9&gt;] SyS_sendmsg+0x19/0x20
 [&lt;ffffffff816cbb2e&gt;] system_call_fastpath+0x12/0x71

Use kvzalloc for iscsi_pool in iscsi_pool_init.

Signed-off-by: Kyle Fortin &lt;kyle.fortin@oracle.com&gt;
Tested-by: Kyle Fortin &lt;kyle.fortin@oracle.com&gt;
Reviewed-by: Joseph Slember &lt;joe.slember@oracle.com&gt;
Reviewed-by: Lance Hartmann &lt;lance.hartmann@oracle.com&gt;
Acked-by: Lee Duncan &lt;lduncan@suse.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
iscsiadm session login can fail with the following error:

iscsiadm: Could not login to [iface: default, target: iqn.1986-03.com...
iscsiadm: initiator reported error (9 - internal error)

When /etc/iscsi/iscsid.conf sets node.session.cmds_max = 4096, it
results in 64K-sized kmallocs per session.  A system under fragmented
slab pressure may not have any 64K objects available and fail iscsiadm
session login. Even though memory objects of a smaller size are
available, the large order allocation ends up failing.

The kernel prints a warning and does dump_stack, like below:

iscsid: page allocation failure: order:4, mode:0xc0d0
CPU: 0 PID: 2456 Comm: iscsid Not tainted 4.1.12-61.1.28.el6uek.x86_64 #2
Call Trace:
 [&lt;ffffffff816c6e40&gt;] dump_stack+0x63/0x83
 [&lt;ffffffff8118e58a&gt;] warn_alloc_failed+0xea/0x140
 [&lt;ffffffff81191df9&gt;] __alloc_pages_slowpath+0x409/0x760
 [&lt;ffffffff81192401&gt;] __alloc_pages_nodemask+0x2b1/0x2d0
 [&lt;ffffffffa048f6c0&gt;] ? dev_attr_host_ipaddress+0x20/0xffffffffffffc722
 [&lt;ffffffff811dc38f&gt;] alloc_pages_current+0xaf/0x170
 [&lt;ffffffff81192581&gt;] alloc_kmem_pages+0x31/0xd0
 [&lt;ffffffffa048f600&gt;] ? iscsi_transport_group+0x20/0xffffffffffffc7e2
 [&lt;ffffffff811ad738&gt;] kmalloc_order+0x18/0x50
 [&lt;ffffffff811ad7a4&gt;] kmalloc_order_trace+0x34/0xe0
 [&lt;ffffffff8146ee30&gt;] ? transport_remove_classdev+0x70/0x70
 [&lt;ffffffff811e843d&gt;] __kmalloc+0x27d/0x2a0
 [&lt;ffffffff810c8cbd&gt;] ? complete_all+0x4d/0x60
 [&lt;ffffffffa04af299&gt;] iscsi_pool_init+0x69/0x160 [libiscsi]
 [&lt;ffffffff81465d90&gt;] ? device_initialize+0xb0/0xd0
 [&lt;ffffffffa04af510&gt;] iscsi_session_setup+0x180/0x2f4 [libiscsi]
 [&lt;ffffffffa04c5a60&gt;] ? iscsi_max_lun+0x20/0xfffffffffffffa9e [iscsi_tcp]
 [&lt;ffffffffa04c531f&gt;] iscsi_sw_tcp_session_create+0xcf/0x150 [iscsi_tcp]
 [&lt;ffffffffa04c5a60&gt;] ? iscsi_max_lun+0x20/0xfffffffffffffa9e [iscsi_tcp]
 [&lt;ffffffffa048a633&gt;] iscsi_if_create_session+0x33/0xd0
 [&lt;ffffffffa04c5a60&gt;] ? iscsi_max_lun+0x20/0xfffffffffffffa9e [iscsi_tcp]
 [&lt;ffffffffa048abd8&gt;] iscsi_if_recv_msg+0x508/0x8c0 [scsi_transport_iscsi]
 [&lt;ffffffff811922eb&gt;] ? __alloc_pages_nodemask+0x19b/0x2d0
 [&lt;ffffffff811e6d69&gt;] ? __kmalloc_node_track_caller+0x209/0x2c0
 [&lt;ffffffffa048b00c&gt;] iscsi_if_rx+0x7c/0x200 [scsi_transport_iscsi]
 [&lt;ffffffff81623dc6&gt;] netlink_unicast+0x126/0x1c0
 [&lt;ffffffff8162468c&gt;] netlink_sendmsg+0x36c/0x400
 [&lt;ffffffff815d2fed&gt;] sock_sendmsg+0x4d/0x60
 [&lt;ffffffff815d596a&gt;] ___sys_sendmsg+0x30a/0x330
 [&lt;ffffffff811bc72c&gt;] ? handle_pte_fault+0x20c/0x230
 [&lt;ffffffff811bc90c&gt;] ? __handle_mm_fault+0x1bc/0x330
 [&lt;ffffffff811bcb32&gt;] ? handle_mm_fault+0xb2/0x1a0
 [&lt;ffffffff815d5b99&gt;] __sys_sendmsg+0x49/0x90
 [&lt;ffffffff815d5bf9&gt;] SyS_sendmsg+0x19/0x20
 [&lt;ffffffff816cbb2e&gt;] system_call_fastpath+0x12/0x71

Use kvzalloc for iscsi_pool in iscsi_pool_init.

Signed-off-by: Kyle Fortin &lt;kyle.fortin@oracle.com&gt;
Tested-by: Kyle Fortin &lt;kyle.fortin@oracle.com&gt;
Reviewed-by: Joseph Slember &lt;joe.slember@oracle.com&gt;
Reviewed-by: Lance Hartmann &lt;lance.hartmann@oracle.com&gt;
Acked-by: Lee Duncan &lt;lduncan@suse.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi</title>
<updated>2017-05-04T19:19:44+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2017-05-04T19:19:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=8d5e72dfdf0fa29a21143fd72746c6f43295ce9f'/>
<id>8d5e72dfdf0fa29a21143fd72746c6f43295ce9f</id>
<content type='text'>
Pull SCSI updates from James Bottomley:
 "This update includes the usual round of major driver updates
  (hisi_sas, ufs, fnic, cxlflash, be2iscsi, ipr, stex). There's also the
  usual amount of cosmetic and spelling stuff"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (155 commits)
  scsi: qla4xxx: fix spelling mistake: "Tempalate" -&gt; "Template"
  scsi: stex: make S6flag static
  scsi: mac_esp: fix to pass correct device identity to free_irq()
  scsi: aacraid: pci_alloc_consistent() failures on ARM64
  scsi: ufs: make ufshcd_get_lists_status() register operation obvious
  scsi: ufs: use MASK_EE_STATUS
  scsi: mac_esp: Replace bogus memory barrier with spinlock
  scsi: fcoe: make fcoe_e_d_tov and fcoe_r_a_tov static
  scsi: sd_zbc: Do not write lock zones for reset
  scsi: sd_zbc: Remove superfluous assignments
  scsi: sd: sd_zbc: Rename sd_zbc_setup_write_cmnd
  scsi: Improve scsi_get_sense_info_fld
  scsi: sd: Cleanup sd_done sense data handling
  scsi: sd: Improve sd_completed_bytes
  scsi: sd: Fix function descriptions
  scsi: mpt3sas: remove redundant wmb
  scsi: mpt: Move scsi_remove_host() out of mptscsih_remove_host()
  scsi: sg: reset 'res_in_use' after unlinking reserved array
  scsi: mvumi: remove code handling zero scsi_sg_count(scmd) case
  scsi: fusion: fix spelling mistake: "Persistancy" -&gt; "Persistency"
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull SCSI updates from James Bottomley:
 "This update includes the usual round of major driver updates
  (hisi_sas, ufs, fnic, cxlflash, be2iscsi, ipr, stex). There's also the
  usual amount of cosmetic and spelling stuff"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (155 commits)
  scsi: qla4xxx: fix spelling mistake: "Tempalate" -&gt; "Template"
  scsi: stex: make S6flag static
  scsi: mac_esp: fix to pass correct device identity to free_irq()
  scsi: aacraid: pci_alloc_consistent() failures on ARM64
  scsi: ufs: make ufshcd_get_lists_status() register operation obvious
  scsi: ufs: use MASK_EE_STATUS
  scsi: mac_esp: Replace bogus memory barrier with spinlock
  scsi: fcoe: make fcoe_e_d_tov and fcoe_r_a_tov static
  scsi: sd_zbc: Do not write lock zones for reset
  scsi: sd_zbc: Remove superfluous assignments
  scsi: sd: sd_zbc: Rename sd_zbc_setup_write_cmnd
  scsi: Improve scsi_get_sense_info_fld
  scsi: sd: Cleanup sd_done sense data handling
  scsi: sd: Improve sd_completed_bytes
  scsi: sd: Fix function descriptions
  scsi: mpt3sas: remove redundant wmb
  scsi: mpt: Move scsi_remove_host() out of mptscsih_remove_host()
  scsi: sg: reset 'res_in_use' after unlinking reserved array
  scsi: mvumi: remove code handling zero scsi_sg_count(scmd) case
  scsi: fusion: fix spelling mistake: "Persistancy" -&gt; "Persistency"
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>scsi: libiscsi: qedi: convert iscsi_task.refcount from atomic_t to refcount_t</title>
<updated>2017-03-15T22:44:39+00:00</updated>
<author>
<name>Elena Reshetova</name>
<email>elena.reshetova@intel.com</email>
</author>
<published>2017-03-09T11:46:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6dc618cdd6b896791313926becb1f86ede0e046a'/>
<id>6dc618cdd6b896791313926becb1f86ede0e046a</id>
<content type='text'>
refcount_t type and corresponding API should be used instead of atomic_t
when the variable is used as a reference counter. This allows to avoid
accidental refcounter overflows that might lead to use-after-free
situations.

Signed-off-by: Elena Reshetova &lt;elena.reshetova@intel.com&gt;
Signed-off-by: Hans Liljestrand &lt;ishkamiel@gmail.com&gt;
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: David Windsor &lt;dwindsor@gmail.com&gt;
Acked-by: Chris Leech &lt;cleech@redhat.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
refcount_t type and corresponding API should be used instead of atomic_t
when the variable is used as a reference counter. This allows to avoid
accidental refcounter overflows that might lead to use-after-free
situations.

Signed-off-by: Elena Reshetova &lt;elena.reshetova@intel.com&gt;
Signed-off-by: Hans Liljestrand &lt;ishkamiel@gmail.com&gt;
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: David Windsor &lt;dwindsor@gmail.com&gt;
Acked-by: Chris Leech &lt;cleech@redhat.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'mkp-scsi/fixes' into fixes</title>
<updated>2017-03-07T23:13:02+00:00</updated>
<author>
<name>James Bottomley</name>
<email>James.Bottomley@HansenPartnership.com</email>
</author>
<published>2017-03-07T23:13:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e2a3a67302fbe2431fc6d7c313073da5b2b4c293'/>
<id>e2a3a67302fbe2431fc6d7c313073da5b2b4c293</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>sched/headers: Prepare for new header dependencies before moving code to &lt;linux/sched/signal.h&gt;</title>
<updated>2017-03-02T07:42:29+00:00</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@kernel.org</email>
</author>
<published>2017-02-08T17:51:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=3f07c0144132e4f59d88055ac8ff3e691a5fa2b8'/>
<id>3f07c0144132e4f59d88055ac8ff3e691a5fa2b8</id>
<content type='text'>
We are going to split &lt;linux/sched/signal.h&gt; out of &lt;linux/sched.h&gt;, which
will have to be picked up from other headers and a couple of .c files.

Create a trivial placeholder &lt;linux/sched/signal.h&gt; file that just
maps to &lt;linux/sched.h&gt; to make this patch obviously correct and
bisectable.

Include the new header in the files that are going to need it.

Acked-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Mike Galbraith &lt;efault@gmx.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We are going to split &lt;linux/sched/signal.h&gt; out of &lt;linux/sched.h&gt;, which
will have to be picked up from other headers and a couple of .c files.

Create a trivial placeholder &lt;linux/sched/signal.h&gt; file that just
maps to &lt;linux/sched.h&gt; to make this patch obviously correct and
bisectable.

Include the new header in the files that are going to need it.

Acked-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Mike Galbraith &lt;efault@gmx.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>scsi: libiscsi: add lock around task lists to fix list corruption regression</title>
<updated>2017-03-01T03:05:22+00:00</updated>
<author>
<name>Chris Leech</name>
<email>cleech@redhat.com</email>
</author>
<published>2017-02-28T00:58:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6f8830f5bbab16e54f261de187f3df4644a5b977'/>
<id>6f8830f5bbab16e54f261de187f3df4644a5b977</id>
<content type='text'>
There's a rather long standing regression from the commit "libiscsi:
Reduce locking contention in fast path"

Depending on iSCSI target behavior, it's possible to hit the case in
iscsi_complete_task where the task is still on a pending list
(!list_empty(&amp;task-&gt;running)).  When that happens the task is removed
from the list while holding the session back_lock, but other task list
modification occur under the frwd_lock.  That leads to linked list
corruption and eventually a panicked system.

Rather than back out the session lock split entirely, in order to try
and keep some of the performance gains this patch adds another lock to
maintain the task lists integrity.

Major enterprise supported kernels have been backing out the lock split
for while now, thanks to the efforts at IBM where a lab setup has the
most reliable reproducer I've seen on this issue.  This patch has been
tested there successfully.

Signed-off-by: Chris Leech &lt;cleech@redhat.com&gt;
Fixes: 659743b02c41 ("[SCSI] libiscsi: Reduce locking contention in fast path")
Reported-by: Prashantha Subbarao &lt;psubbara@us.ibm.com&gt;
Reviewed-by: Guilherme G. Piccoli &lt;gpiccoli@linux.vnet.ibm.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v3.15+
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There's a rather long standing regression from the commit "libiscsi:
Reduce locking contention in fast path"

Depending on iSCSI target behavior, it's possible to hit the case in
iscsi_complete_task where the task is still on a pending list
(!list_empty(&amp;task-&gt;running)).  When that happens the task is removed
from the list while holding the session back_lock, but other task list
modification occur under the frwd_lock.  That leads to linked list
corruption and eventually a panicked system.

Rather than back out the session lock split entirely, in order to try
and keep some of the performance gains this patch adds another lock to
maintain the task lists integrity.

Major enterprise supported kernels have been backing out the lock split
for while now, thanks to the efforts at IBM where a lab setup has the
most reliable reproducer I've seen on this issue.  This patch has been
tested there successfully.

Signed-off-by: Chris Leech &lt;cleech@redhat.com&gt;
Fixes: 659743b02c41 ("[SCSI] libiscsi: Reduce locking contention in fast path")
Reported-by: Prashantha Subbarao &lt;psubbara@us.ibm.com&gt;
Reviewed-by: Guilherme G. Piccoli &lt;gpiccoli@linux.vnet.ibm.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v3.15+
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>scsi: remove eh_timed_out methods in the transport template</title>
<updated>2017-02-07T00:10:03+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2017-01-30T12:18:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b6a05c823fc573a65efc4466f174abf05f922e0f'/>
<id>b6a05c823fc573a65efc4466f174abf05f922e0f</id>
<content type='text'>
Instead define the timeout behavior purely based on the host_template
eh_timed_out method and wire up the existing transport implementations
in the host templates.  This also clears up the confusion that the
transport template method overrides the host template one, so some
drivers have to re-override the transport template one.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.com&gt;
Reviewed-by: Tyrel Datwyler &lt;tyreld@linux.vnet.ibm.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead define the timeout behavior purely based on the host_template
eh_timed_out method and wire up the existing transport implementations
in the host templates.  This also clears up the confusion that the
transport template method overrides the host template one, so some
drivers have to re-override the transport template one.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.com&gt;
Reviewed-by: Tyrel Datwyler &lt;tyreld@linux.vnet.ibm.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
