<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/scsi, branch v3.12</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v3.12</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.12'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2013-10-30T19:24:49Z</updated>
<entry>
<title>aacraid: missing capable() check in compat ioctl</title>
<updated>2013-10-30T19:24:49Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2013-10-29T19:11:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f856567b930dfcdbc3323261bf77240ccdde01f5'/>
<id>urn:sha1:f856567b930dfcdbc3323261bf77240ccdde01f5</id>
<content type='text'>
In commit d496f94d22d1 ('[SCSI] aacraid: fix security weakness') we
added a check on CAP_SYS_RAWIO to the ioctl.  The compat ioctls need the
check as well.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[SCSI] Revert "sg: use rwsem to solve race during exclusive open"</title>
<updated>2013-10-25T09:59:54Z</updated>
<author>
<name>James Bottomley</name>
<email>JBottomley@Parallels.com</email>
</author>
<published>2013-10-25T09:27:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=065b4a2f5952df2c46aa04d24ffcce65cc75a1a9'/>
<id>urn:sha1:065b4a2f5952df2c46aa04d24ffcce65cc75a1a9</id>
<content type='text'>
This reverts commit 15b06f9a02406e5460001db6d5af5c738cd3d4e7.

This is one of four patches that was causing this bug

[  205.372823] ================================================
[  205.372901] [ BUG: lock held when returning to user space! ]
[  205.372979] 3.12.0-rc6-hw-debug-pagealloc+ #67 Not tainted
[  205.373055] ------------------------------------------------
[  205.373132] megarc.bin/5283 is leaving the kernel with locks still held!
[  205.373212] 1 lock held by megarc.bin/5283:
[  205.373285]  #0:  (&amp;sdp-&gt;o_sem){.+.+..}, at: [&lt;ffffffff8161e650&gt;] sg_open+0x3a0/0x4d0

Cc: Vaughan Cao &lt;vaughan.cao@oracle.com&gt;
Acked-by: Douglas Gilbert &lt;dgilbert@interlog.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] Revert "sg: no need sg_open_exclusive_lock"</title>
<updated>2013-10-25T09:59:32Z</updated>
<author>
<name>James Bottomley</name>
<email>JBottomley@Parallels.com</email>
</author>
<published>2013-10-25T09:26:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=98481ff0bb8792ebfb832e330e56d3c629ba5fa6'/>
<id>urn:sha1:98481ff0bb8792ebfb832e330e56d3c629ba5fa6</id>
<content type='text'>
This reverts commit 00b2d9d6d05b56fc1d77071ff8ccbd2c65b48dec.

This is one of four patches that was causing this bug

[  205.372823] ================================================
[  205.372901] [ BUG: lock held when returning to user space! ]
[  205.372979] 3.12.0-rc6-hw-debug-pagealloc+ #67 Not tainted
[  205.373055] ------------------------------------------------
[  205.373132] megarc.bin/5283 is leaving the kernel with locks still held!
[  205.373212] 1 lock held by megarc.bin/5283:
[  205.373285]  #0:  (&amp;sdp-&gt;o_sem){.+.+..}, at: [&lt;ffffffff8161e650&gt;] sg_open+0x3a0/0x4d0

Cc: Vaughan Cao &lt;vaughan.cao@oracle.com&gt;
Acked-by: Douglas Gilbert &lt;dgilbert@interlog.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] Revert "sg: checking sdp-&gt;detached isn't protected when open"</title>
<updated>2013-10-25T09:59:02Z</updated>
<author>
<name>James Bottomley</name>
<email>JBottomley@Parallels.com</email>
</author>
<published>2013-10-25T09:25:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bafc8ad82d482f9ecb9111969a3fdcef366bf8cb'/>
<id>urn:sha1:bafc8ad82d482f9ecb9111969a3fdcef366bf8cb</id>
<content type='text'>
This reverts commit e32c9e6300e3af659cbfe45e90a1e7dcd3572ada.

This is one of four patches that was causing this bug

[  205.372823] ================================================
[  205.372901] [ BUG: lock held when returning to user space! ]
[  205.372979] 3.12.0-rc6-hw-debug-pagealloc+ #67 Not tainted
[  205.373055] ------------------------------------------------
[  205.373132] megarc.bin/5283 is leaving the kernel with locks still held!
[  205.373212] 1 lock held by megarc.bin/5283:
[  205.373285]  #0:  (&amp;sdp-&gt;o_sem){.+.+..}, at: [&lt;ffffffff8161e650&gt;] sg_open+0x3a0/0x4d0

Cc: Vaughan Cao &lt;vaughan.cao@oracle.com&gt;
Acked-by: Douglas Gilbert &lt;dgilbert@interlog.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] Revert "sg: push file descriptor list locking down to per-device locking"</title>
<updated>2013-10-25T09:58:07Z</updated>
<author>
<name>James Bottomley</name>
<email>JBottomley@Parallels.com</email>
</author>
<published>2013-10-25T09:21:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c0d3b9c29ed22d449481bcfac267a879034a3a5b'/>
<id>urn:sha1:c0d3b9c29ed22d449481bcfac267a879034a3a5b</id>
<content type='text'>
This reverts commit 1f962ebcdfa15cede59e9edb299d1330949eec92.

This is one of four patches that was causing this bug

[  205.372823] ================================================
[  205.372901] [ BUG: lock held when returning to user space! ]
[  205.372979] 3.12.0-rc6-hw-debug-pagealloc+ #67 Not tainted
[  205.373055] ------------------------------------------------
[  205.373132] megarc.bin/5283 is leaving the kernel with locks still held!
[  205.373212] 1 lock held by megarc.bin/5283:
[  205.373285]  #0:  (&amp;sdp-&gt;o_sem){.+.+..}, at: [&lt;ffffffff8161e650&gt;] sg_open+0x3a0/0x4d0

Cc: Vaughan Cao &lt;vaughan.cao@oracle.com&gt;
Acked-by: Douglas Gilbert &lt;dgilbert@interlog.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] sd: call blk_pm_runtime_init before add_disk</title>
<updated>2013-10-23T13:09:18Z</updated>
<author>
<name>Aaron Lu</name>
<email>aaron.lu@intel.com</email>
</author>
<published>2013-10-10T05:22:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=10c580e4239df5c3344ca00322eca86ab2de880b'/>
<id>urn:sha1:10c580e4239df5c3344ca00322eca86ab2de880b</id>
<content type='text'>
Sujit has found a race condition that would make q-&gt;nr_pending
unbalanced, it occurs as Sujit explained:

"
sd_probe_async() -&gt;
	add_disk() -&gt;
		disk_add_event() -&gt;
			schedule(disk_events_workfn)
	sd_revalidate_disk()
	blk_pm_runtime_init()
return;

Let's say the disk_events_workfn() calls sd_check_events() which tries
to send test_unit_ready() and because of sd_revalidate_disk() trying to
send another commands the test_unit_ready() might be re-queued as the
tagged command queuing is disabled.

So the race condition is -

Thread 1 			  |		Thread 2
sd_revalidate_disk()		  |	sd_check_events()
...nr_pending = 0 as q-&gt;dev = NULL|	scsi_queue_insert()
blk_runtime_pm_init()		  | 	blk_pm_requeue_request() -&gt;
				  |	nr_pending = -1 since
				  |	q-&gt;dev != NULL
"

The problem is, the test_unit_ready request doesn't get counted the
first time it is queued, so the later decrement of q-&gt;nr_pending in
blk_pm_requeue_request makes it unbalanced.

Fix this by calling blk_pm_runtime_init before add_disk so that all
requests initiated there will all be counted.

Signed-off-by: Aaron Lu &lt;aaron.lu@intel.com&gt;
Reported-and-tested-by: Sujit Reddy Thumma &lt;sthumma@codeaurora.org&gt;
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] qla2xxx: Fix request queue null dereference.</title>
<updated>2013-10-23T13:09:18Z</updated>
<author>
<name>Chad Dupuis</name>
<email>chad.dupuis@qlogic.com</email>
</author>
<published>2013-10-03T07:21:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=36008cf118235cee49b6753455f33b6f2c3a7543'/>
<id>urn:sha1:36008cf118235cee49b6753455f33b6f2c3a7543</id>
<content type='text'>
If an invalid IOCB is returned on the response queue then the index into the
request queue map could be invalid and could return to us a bogus value. This
could cause us to try to deference an invalid pointer and cause an exception.

If we encounter this condition, simply return as no context can be established
for this response.

Signed-off-by: Chad Dupuis &lt;chad.dupuis@qlogic.com&gt;
Signed-off-by: Saurav Kashyap &lt;saurav.kashyap@qlogic.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] BusLogic: Fix an oops when intializing multimaster adapter</title>
<updated>2013-10-16T12:57:14Z</updated>
<author>
<name>Khalid Aziz</name>
<email>khalid.aziz@oracle.com</email>
</author>
<published>2013-09-25T17:45:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6541932ea2f7de0b0c5203decf666b143ad5fa33'/>
<id>urn:sha1:6541932ea2f7de0b0c5203decf666b143ad5fa33</id>
<content type='text'>
This fixes an oops caused by buslogic driver when initializing a BusLogic
MultiMaster adapter. Initialization code used scope of a variable
incorrectly which created a NULL pointer. Oops message is below:

BUG: unable to handle kernel NULL pointer dereference at 0000000c
IP: [&lt;c150c137&gt;] blogic_init_mm_probeinfo.isra.17+0x20a/0x583
*pde = 00000000
Oops: 002 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.11.1.puz1 #1
Hardware name:    /Canterwood, BIOS 6.00 PG 05/16/2003
task: f7050000 ti: f7054000 task.ti: f7054000
EIP: 0060:[&lt;c150c137&gt;] EFLAGS: 00010246 CPU:1
EIP is at blogic_init_mm_probeinfo.isra.17+0x20a/0x583
EAX: 00000013 EBX: 00000000 ECX: 00000000 EDX: f8001000
ESI: f71cb800 EDI: f7388000 EBP: 00007800 ESP: f7055c84
 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
CR0: 8005003b CR2: 0000000c CR3: 0154f000 CR4: 000007d0
Stack:
 0000001c 00000000 c11a59f6 f7055c98 00008130 ffffffff ffffffff 00000000
 00000003 00000000 00000000 00000000 00000013 f8001000 00000001 000003d0
 00000000 00000000 00000000 c14e3f84 f78803c8 00000000 f738c000 000000e9
Call Trace:
 [&lt;c11a59f6&gt;] ? pci_get_subsys+0x33/0x38
 [&lt;c150c4fb&gt;] ? blogic_init_probeinfo_list+0x4b/0x19e
 [&lt;c108d593&gt;] ? __alloc_pages_nodemask+0xe3/0x623
 [&lt;c108d593&gt;] ? __alloc_pages_nodemask+0xe3/0x623
 [&lt;c10fb99e&gt;] ? sysfs_link_sibling+0x61/0x8d
 [&lt;c10b0519&gt;] ? kmem_cache_alloc+0x8b/0xb5
 [&lt;c150cce5&gt;] ? blogic_init+0xa1/0x10e8
 [&lt;c10fc0a8&gt;] ? sysfs_add_one+0x10/0x9d
 [&lt;c10fc18a&gt;] ? sysfs_addrm_finish+0x12/0x85
 [&lt;c10fca37&gt;] ? sysfs_do_create_link_sd+0x9d/0x1b4
 [&lt;c117c272&gt;] ? blk_register_queue+0x69/0xb3
 [&lt;c10fcb68&gt;] ? sysfs_create_link+0x1a/0x2c
 [&lt;c1181a07&gt;] ? add_disk+0x1a1/0x3c7
 [&lt;c138737b&gt;] ? klist_next+0x60/0xc3
 [&lt;c122cc3a&gt;] ? scsi_dh_detach+0x68/0x68
 [&lt;c1213e36&gt;] ? bus_for_each_dev+0x51/0x61
 [&lt;c1000356&gt;] ? do_one_initcall+0x22/0x12c
 [&lt;c10f3688&gt;] ? __proc_create+0x8c/0xba
 [&lt;c150cc44&gt;] ? blogic_setup+0x5f6/0x5f6
 [&lt;c14e94aa&gt;] ? repair_env_string+0xf/0x4d
 [&lt;c14e949b&gt;] ? do_early_param+0x71/0x71
 [&lt;c103efaa&gt;] ? parse_args+0x21f/0x33d
 [&lt;c14e9a54&gt;] ? kernel_init_freeable+0xdf/0x17d
 [&lt;c14e949b&gt;] ? do_early_param+0x71/0x71
 [&lt;c1388b64&gt;] ? kernel_init+0x8/0xc0
 [&lt;c1392222&gt;] ? ret_from_kernel_thread+0x6/0x28
 [&lt;c1392227&gt;] ? ret_from_kernel_thread+0x1b/0x28
 [&lt;c1388b5c&gt;] ? rest_init+0x6c/0x6c
Code: 89 44 24 10 0f b6 44 24 3d 89 44 24 0c c7 44 24 08 00 00 00 00 c7 44 24 04 38 62 46 c1 c7 04 24 02 00 00 00 e8 78 13 d2 ff 31 db &lt;89&gt; 6b 0c b0 20 89 ea ee
 c7 44 24 08 04 00 00 00 8d 44 24 4c 89
EIP: [&lt;c150c137&gt;] blogic_init_mm_probeinfo.isra.17+0x20a/0x583 SS:ESP 0068:f7055c84
CR2: 000000000000000c
---[ end trace 17f45f5196d40487 ]---
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009

Signed-off-by: Khalid Aziz &lt;khalid.aziz@oracle.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # 3.11.x
Reported-by: Pierre Uszynski &lt;pierre@rahul.net&gt;
Tested-by: Pierre Uszynski &lt;pierre@rahul.net&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2013-09-19T18:57:28Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-09-19T18:57:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b75ff5e84bb6c2d43a8ec39b240c80f0543821f0'/>
<id>urn:sha1:b75ff5e84bb6c2d43a8ec39b240c80f0543821f0</id>
<content type='text'>
Pull networking fixes from David Miller:

 1) If the local_df boolean is set on an SKB we have to allocate a
    unique ID even if IP_DF is set in the ipv4 headers, from Ansis
    Atteka.

 2) Some fixups for the new chipset support that went into the sfc
    driver, from Ben Hutchings.

 3) Because SCTP bypasses a good chunk of, and actually duplicates, the
    logic of the ipv6 output path, some IPSEC things don't get done
    properly.  Integrate SCTP better into the ipv6 output path so that
    these problems are fixed and such issues don't get missed in the
    future either.  From Daniel Borkmann.

 4) Fix skge regressions added by the DMA mapping error return checking
    added in v3.10, from Mikulas Patocka.

 5) Kill some more IRQF_DISABLED references, from Michael Opdenacker.

 6) Fix races and deadlocks in the bridging code, from Hong Zhiguo.

 7) Fix error handling in tun_set_iff(), in particular don't leak
    resources.  From Jason Wang.

 8) Prevent format-string injection into xen-netback driver, from Kees
    Cook.

 9) Fix regression added to netpoll ARP packet handling, in particular
    check for the right ETH_P_ARP protocol code.  From Sonic Zhang.

10) Try to deal with AMD IOMMU errors when using r8169 chips, from
    Francois Romieu.

11) Cure freezes due to recent changes in the rt2x00 wireless driver,
    from Stanislaw Gruszka.

12) Don't do SPI transfers (which can sleep) in interrupt context in
    cw1200 driver, from Solomon Peachy.

13) Fix LEDs handling bug in 5720 tg3 chips already handled for 5719.
    From Nithin Sujir.

14) Make xen_netbk_count_skb_slots() count the actual number of slots
    that will be used, taking into consideration packing and other
    issues that the transmit path will run into.  From David Vrabel.

15) Use the correct maximum age when calculating the bridge
    message_age_timer, from Chris Healy.

16) Get rid of memory leaks in mcs7780 IRDA driver, from Alexey
    Khoroshilov.

17) Netfilter conntrack extensions were converted to RCU but are not
    always freed properly using kfree_rcu().  Fix from Michal Kubecek.

18) VF reset recovery not being done correctly in qlcnic driver, from
    Manish Chopra.

19) Fix inverted test in ATM nicstar driver, from Andy Shevchenko.

20) Missing workqueue destroy in cxgb4 error handling, from Wei Yang.

21) Internal switch not initialized properly in bgmac driver, from Rafał
    Miłecki.

22) Netlink messages report wrong local and remote addresses in IPv6
    tunneling, from Ding Zhi.

23) ICMP redirects should not generate socket errors in DCCP and SCTP.
    We're still working out how this should be handled for RAW and UDP
    sockets.  From Daniel Borkmann and Duan Jiong.

24) We've had several bugs wherein the network namespace's loopback
    device gets accessed after it is free'd, NULL it out so that we can
    catch these problems more readily.  From Eric W Biederman.

25) Fix regression in TCP RTO calculations, from Neal Cardwell.

26) Fix too early free of xen-netback network device when VIFs still
    exist.  From Paul Durrant.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (87 commits)
  netconsole: fix a deadlock with rtnl and netconsole's mutex
  netpoll: fix NULL pointer dereference in netpoll_cleanup
  skge: fix broken driver
  ip: generate unique IP identificator if local fragmentation is allowed
  ip: use ip_hdr() in __ip_make_skb() to retrieve IP header
  xen-netback: Don't destroy the netdev until the vif is shut down
  net:dccp: do not report ICMP redirects to user space
  cnic: Fix crash in cnic_bnx2x_service_kcq()
  bnx2x, cnic, bnx2i, bnx2fc: Fix bnx2i and bnx2fc regressions.
  vxlan: Avoid creating fdb entry with NULL destination
  tcp: fix RTO calculated from cached RTT
  drivers: net: phy: cicada.c: clears warning Use #include &lt;linux/io.h&gt; instead of &lt;asm/io.h&gt;
  net loopback: Set loopback_dev to NULL when freed
  batman-adv: set the TAG flag for the vid passed to BLA
  netfilter: nfnetlink_queue: use network skb for sequence adjustment
  net: sctp: rfc4443: do not report ICMP redirects to user space
  net: usb: cdc_ether: use usb.h macros whenever possible
  net: usb: cdc_ether: fix checkpatch errors and warnings
  net: usb: cdc_ether: Use wwan interface for Telit modules
  ip6_tunnels: raddr and laddr are inverted in nl msg
  ...
</content>
</entry>
<entry>
<title>bnx2x, cnic, bnx2i, bnx2fc: Fix bnx2i and bnx2fc regressions.</title>
<updated>2013-09-18T16:24:32Z</updated>
<author>
<name>Michael Chan</name>
<email>mchan@broadcom.com</email>
</author>
<published>2013-09-18T08:50:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f78afb356303e5f78750321a63809ef5c2d13c0d'/>
<id>urn:sha1:f78afb356303e5f78750321a63809ef5c2d13c0d</id>
<content type='text'>
commit b9871bcfd211d316adee317608dab44c58d6ea2d
    bnx2x: VF RSS support - PF side

changed the configuration of the doorbell HW and it broke iSCSI and FCoE.
We fix this by making compatible changes to the doorbell address in bnx2i
and bnx2fc.  For the userspace driver, we need to pass a modified CID
so that the existing userspace driver will calculate the correct doorbell
address and continue to work.

Signed-off-by: Ariel Elior &lt;ariele@broadcom.com&gt;
Signed-off-by: Eddie Wai &lt;eddie.wai@broadcom.com&gt;
Signed-off-by: Michael Chan &lt;mchan@broadcom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
