<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/block/cciss.c, branch v2.6.24</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>cciss: section mismatch</title>
<updated>2008-01-14T16:52:22+00:00</updated>
<author>
<name>Randy Dunlap</name>
<email>randy.dunlap@oracle.com</email>
</author>
<published>2008-01-14T08:55:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=7d1fd970e4b2e84a624b3274669fa642fcd19c98'/>
<id>7d1fd970e4b2e84a624b3274669fa642fcd19c98</id>
<content type='text'>
Mark cciss_pci_init() as __devinit, to fix section mismatch warning.

WARNING: vmlinux.o(.text+0x601fc9): Section mismatch: reference to .init.text: (between 'cciss_pci_init' and 'cciss_getgeometry')

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Cc: &lt;mike.miller@hp.com&gt;
Acked-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mark cciss_pci_init() as __devinit, to fix section mismatch warning.

WARNING: vmlinux.o(.text+0x601fc9): Section mismatch: reference to .init.text: (between 'cciss_pci_init' and 'cciss_getgeometry')

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Cc: &lt;mike.miller@hp.com&gt;
Acked-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cciss: update copyright notices</title>
<updated>2007-10-29T10:33:05+00:00</updated>
<author>
<name>Mike Miller</name>
<email>mike.miller@hp.com</email>
</author>
<published>2007-10-24T08:30:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=bd4f36d6da175ed51840fe07b8906951c4dea609'/>
<id>bd4f36d6da175ed51840fe07b8906951c4dea609</id>
<content type='text'>
This patch updates the copyright information for the cciss driver. It
includes extending the year to 2007 (how timely) and some minor corrections
deemed necessary by HP legal and the Open Source Review Board. Please
consider this patch for inclusion.

Signed-off-by: Mike Miller &lt;mike.miller@hp.com&gt;
--------------------------------------------------------------------------------
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch updates the copyright information for the cciss driver. It
includes extending the year to 2007 (how timely) and some minor corrections
deemed necessary by HP legal and the Open Source Review Board. Please
consider this patch for inclusion.

Signed-off-by: Mike Miller &lt;mike.miller@hp.com&gt;
--------------------------------------------------------------------------------
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SG] Update drivers to use sg helpers</title>
<updated>2007-10-22T19:19:53+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2007-10-22T19:19:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=45711f1af6eff1a6d010703b4862e0d2b9afd056'/>
<id>45711f1af6eff1a6d010703b4862e0d2b9afd056</id>
<content type='text'>
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block</title>
<updated>2007-10-17T16:08:13+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@woody.linux-foundation.org</email>
</author>
<published>2007-10-17T16:08:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b6257a9036f06878a0f02354d5a07f155e1cfee0'/>
<id>b6257a9036f06878a0f02354d5a07f155e1cfee0</id>
<content type='text'>
* 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block:
  [SCSI] Remove full sg table memset()
  [SCSI] ide-scsi: remove usage of sg_last()
  Fix loop terminating conditions in fill_sg().
  [BLOCK] Clear sg entry before filling in blk_rq_map_sg()
  IA64: iommu uses sg_next with an invalid sg element
  cciss: disable DMA refetch on Smart Array P600
  swiotlb: fix map_sg failure handling
  SPARC64: fix iommu sg chaining
  [SCSI] ide-scsi: use scsi_sg_count() instead of -&gt;use_sg
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block:
  [SCSI] Remove full sg table memset()
  [SCSI] ide-scsi: remove usage of sg_last()
  Fix loop terminating conditions in fill_sg().
  [BLOCK] Clear sg entry before filling in blk_rq_map_sg()
  IA64: iommu uses sg_next with an invalid sg element
  cciss: disable DMA refetch on Smart Array P600
  swiotlb: fix map_sg failure handling
  SPARC64: fix iommu sg chaining
  [SCSI] ide-scsi: use scsi_sg_count() instead of -&gt;use_sg
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers/block/cciss.c: fix check-after-use</title>
<updated>2007-10-17T15:42:55+00:00</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@kernel.org</email>
</author>
<published>2007-10-17T06:29:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5a9df732b6a547aa843e8655044db9573d7b4e71'/>
<id>5a9df732b6a547aa843e8655044db9573d7b4e71</id>
<content type='text'>
The Coverity checker spotted that we have already oops'ed if "disk"
was NULL.

Since "disk" being NULL seems impossible at this point this patch
removes the NULL check.

Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
Acked-by: Mike Miller &lt;mike.miller@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Coverity checker spotted that we have already oops'ed if "disk"
was NULL.

Since "disk" being NULL seems impossible at this point this patch
removes the NULL check.

Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
Acked-by: Mike Miller &lt;mike.miller@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cciss: fix error reporting for SG_IO</title>
<updated>2007-10-17T15:42:55+00:00</updated>
<author>
<name>Steve Cameron</name>
<email>scameron@quandary.americas.cpqcorp.net</email>
</author>
<published>2007-10-17T06:27:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1a614f505193fcfc1b298643268a5db5b48e297f'/>
<id>1a614f505193fcfc1b298643268a5db5b48e297f</id>
<content type='text'>
This fixes a problem with the way cciss was filling out the "errors" field
of the request structure upon completion of requests.  Previously, it just
put a 1 or a 0 in there and used the negation of this as the uptodate
parameter to one of the functions in the block layer, being a block device.
 For the SG_IO ioctl, this was not sufficient, and we noticed that, for
example, sg_turs from sg3_utils did not correctly detect problems due to
cciss having set rq-&gt;errors incorrectly.

Signed-off-by: Stephen M. Cameron &lt;steve.cameron@hp.com&gt;
Acked-by: Mike Miller &lt;mike.miller@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a problem with the way cciss was filling out the "errors" field
of the request structure upon completion of requests.  Previously, it just
put a 1 or a 0 in there and used the negation of this as the uptodate
parameter to one of the functions in the block layer, being a block device.
 For the SG_IO ioctl, this was not sufficient, and we noticed that, for
example, sg_turs from sg3_utils did not correctly detect problems due to
cciss having set rq-&gt;errors incorrectly.

Signed-off-by: Stephen M. Cameron &lt;steve.cameron@hp.com&gt;
Acked-by: Mike Miller &lt;mike.miller@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cciss: disable DMA refetch on Smart Array P600</title>
<updated>2007-10-17T08:10:04+00:00</updated>
<author>
<name>Mike Miller (OS Dev)</name>
<email>mikem@beardog.cca.cpqcorp.net</email>
</author>
<published>2007-10-17T08:10:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=8bf50f71cbfc7d043f0f135da72b3feefeaa0eb8'/>
<id>8bf50f71cbfc7d043f0f135da72b3feefeaa0eb8</id>
<content type='text'>
This patch disables DMA refetch in the PCI bridge. We have disabled DMA
prefetch for quite some time. Testing with XEN revealed another ASIC bug. If
dom0 resides on a P600 the board can can an MCA bi accessing invalid memory
addresses. Apparently, we need to disable both prefetch and refetch.
My understanding is a refetch operation should not occur but it is a valid
thing to do if prefetched data is no longer available for whatever reason.
Please consider this patch for inclusion.

Signed-off-by: Mike Miller &lt;mike.miller@hp.com&gt;
Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;

--------------------------------------------------------------------------------
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch disables DMA refetch in the PCI bridge. We have disabled DMA
prefetch for quite some time. Testing with XEN revealed another ASIC bug. If
dom0 resides on a P600 the board can can an MCA bi accessing invalid memory
addresses. Apparently, we need to disable both prefetch and refetch.
My understanding is a refetch operation should not occur but it is a valid
thing to do if prefetched data is no longer available for whatever reason.
Please consider this patch for inclusion.

Signed-off-by: Mike Miller &lt;mike.miller@hp.com&gt;
Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;

--------------------------------------------------------------------------------
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'sglist-arch' into for-linus</title>
<updated>2007-10-16T10:29:34+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2007-10-16T10:29:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=3eed13fd933dbb81db12f7cdec6de9268c4443b5'/>
<id>3eed13fd933dbb81db12f7cdec6de9268c4443b5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Panic in blk_rq_map_sg() from CCISS driver</title>
<updated>2007-10-16T09:24:44+00:00</updated>
<author>
<name>Lee Schermerhorn</name>
<email>Lee.Schermerhorn@hp.com</email>
</author>
<published>2007-09-21T06:33:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a683d652d334a546be9175b894f42dbd8e399536'/>
<id>a683d652d334a546be9175b894f42dbd8e399536</id>
<content type='text'>
New scatter/gather list chaining [sg_next()] treats 'page' member of
struct scatterlist with low bit set [0x01] as a chain pointer to
another struct scatterlist [array].  The CCISS driver request function
passes an uninitialized, temporary, on-stack scatterlist array to
blk_rq_map_sq().  sg_next() interprets random data on the stack as a
chain pointer and eventually tries to de-reference an invalid pointer,
resulting in:

[&lt;ffffffff8031dd70&gt;] blk_rq_map_sg+0x70/0x170
PGD 6090c3067 PUD 0
Oops: 0000 [1] SMP
last sysfs file: /block/cciss!c0d0/cciss!c0d0p1/dev
CPU 6
Modules linked in: ehci_hcd ohci_hcd uhci_hcd
Pid: 1, comm: init Not tainted 2.6.23-rc6-mm1 #3
RIP: 0010:[&lt;ffffffff8031dd70&gt;] [&lt;ffffffff8031dd70&gt;] blk_rq_map_sg+0x70/0x170
RSP: 0018:ffff81060901f768 EFLAGS: 00010206
RAX: 000000040b161000 RBX: ffff81060901f7d8 RCX: 000000040b162c00
RDX: 0000000000000000 RSI: ffff81060b13a260 RDI: ffff81060b139600
RBP: 0000000000001400 R08: 00000000fffffffe R09: 0000000000000400
R10: 0000000000000000 R11: 000000040b163000 R12: ffff810102fe0000
R13: 0000000000000001 R14: 0000000000000001 R15: 00001e0000000000
FS: 00000000026108f0(0063) GS:ffff810409000b80(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 000000010000001e CR3: 00000006090c6000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process init (pid: 1, threadinfo ffff81060901e000, task ffff810409020800)
last branch before last exception/interrupt
from [&lt;ffffffff8031de0a&gt;] blk_rq_map_sg+0x10a/0x170
to [&lt;ffffffff8031dd70&gt;] blk_rq_map_sg+0x70/0x170
Stack: 000000018068ea00 ffff810102fe0000 0000000000000000 ffff810011400000
0000000000000002 0000000000000000 ffff81040b172000 ffffffff803acd3d
0000000000003ec1 ffff8106090d5000 ffff8106090d5000 ffff810102fe0000
Call Trace:
[&lt;ffffffff803acd3d&gt;] do_cciss_request+0x15d/0x4c0
[&lt;ffffffff80298968&gt;] new_slab+0x1c8/0x270
[&lt;ffffffff80298ffd&gt;] __slab_alloc+0x22d/0x470
[&lt;ffffffff8027327b&gt;] mempool_alloc+0x4b/0x130
[&lt;ffffffff8032b21e&gt;] cfq_set_request+0xee/0x380
[&lt;ffffffff8027327b&gt;] mempool_alloc+0x4b/0x130
[&lt;ffffffff8031ff98&gt;] get_request+0x168/0x360
[&lt;ffffffff80331b0d&gt;] rb_insert_color+0x8d/0x110
[&lt;ffffffff8031cfd8&gt;] elv_rb_add+0x58/0x60
[&lt;ffffffff8032a329&gt;] cfq_add_rq_rb+0x69/0xa0
[&lt;ffffffff8031c1ab&gt;] elv_merged_request+0x5b/0x60
[&lt;ffffffff803224fd&gt;] __make_request+0x23d/0x650
[&lt;ffffffff80298ffd&gt;] __slab_alloc+0x22d/0x470
[&lt;ffffffff80270000&gt;] generic_write_checks+0x140/0x190
[&lt;ffffffff8031f012&gt;] generic_make_request+0x1c2/0x3a0
&lt;etc&gt;
Kernel panic - not syncing: Attempted to kill init!

This patch initializes the tmp_sg array to zeroes.  Perhaps not the ultimate
fix, but an effective work-around.  I can now boot 23-rc6-mm1 on an HP
Proliant x86_64 with CCISS boot disk.

Signed-off-by:  Lee Schermerhorn &lt;lee.schermerhorn@hp.com&gt;

 drivers/block/cciss.c |    1 +
 1 file changed, 1 insertion(+)
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
New scatter/gather list chaining [sg_next()] treats 'page' member of
struct scatterlist with low bit set [0x01] as a chain pointer to
another struct scatterlist [array].  The CCISS driver request function
passes an uninitialized, temporary, on-stack scatterlist array to
blk_rq_map_sq().  sg_next() interprets random data on the stack as a
chain pointer and eventually tries to de-reference an invalid pointer,
resulting in:

[&lt;ffffffff8031dd70&gt;] blk_rq_map_sg+0x70/0x170
PGD 6090c3067 PUD 0
Oops: 0000 [1] SMP
last sysfs file: /block/cciss!c0d0/cciss!c0d0p1/dev
CPU 6
Modules linked in: ehci_hcd ohci_hcd uhci_hcd
Pid: 1, comm: init Not tainted 2.6.23-rc6-mm1 #3
RIP: 0010:[&lt;ffffffff8031dd70&gt;] [&lt;ffffffff8031dd70&gt;] blk_rq_map_sg+0x70/0x170
RSP: 0018:ffff81060901f768 EFLAGS: 00010206
RAX: 000000040b161000 RBX: ffff81060901f7d8 RCX: 000000040b162c00
RDX: 0000000000000000 RSI: ffff81060b13a260 RDI: ffff81060b139600
RBP: 0000000000001400 R08: 00000000fffffffe R09: 0000000000000400
R10: 0000000000000000 R11: 000000040b163000 R12: ffff810102fe0000
R13: 0000000000000001 R14: 0000000000000001 R15: 00001e0000000000
FS: 00000000026108f0(0063) GS:ffff810409000b80(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 000000010000001e CR3: 00000006090c6000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process init (pid: 1, threadinfo ffff81060901e000, task ffff810409020800)
last branch before last exception/interrupt
from [&lt;ffffffff8031de0a&gt;] blk_rq_map_sg+0x10a/0x170
to [&lt;ffffffff8031dd70&gt;] blk_rq_map_sg+0x70/0x170
Stack: 000000018068ea00 ffff810102fe0000 0000000000000000 ffff810011400000
0000000000000002 0000000000000000 ffff81040b172000 ffffffff803acd3d
0000000000003ec1 ffff8106090d5000 ffff8106090d5000 ffff810102fe0000
Call Trace:
[&lt;ffffffff803acd3d&gt;] do_cciss_request+0x15d/0x4c0
[&lt;ffffffff80298968&gt;] new_slab+0x1c8/0x270
[&lt;ffffffff80298ffd&gt;] __slab_alloc+0x22d/0x470
[&lt;ffffffff8027327b&gt;] mempool_alloc+0x4b/0x130
[&lt;ffffffff8032b21e&gt;] cfq_set_request+0xee/0x380
[&lt;ffffffff8027327b&gt;] mempool_alloc+0x4b/0x130
[&lt;ffffffff8031ff98&gt;] get_request+0x168/0x360
[&lt;ffffffff80331b0d&gt;] rb_insert_color+0x8d/0x110
[&lt;ffffffff8031cfd8&gt;] elv_rb_add+0x58/0x60
[&lt;ffffffff8032a329&gt;] cfq_add_rq_rb+0x69/0xa0
[&lt;ffffffff8031c1ab&gt;] elv_merged_request+0x5b/0x60
[&lt;ffffffff803224fd&gt;] __make_request+0x23d/0x650
[&lt;ffffffff80298ffd&gt;] __slab_alloc+0x22d/0x470
[&lt;ffffffff80270000&gt;] generic_write_checks+0x140/0x190
[&lt;ffffffff8031f012&gt;] generic_make_request+0x1c2/0x3a0
&lt;etc&gt;
Kernel panic - not syncing: Attempted to kill init!

This patch initializes the tmp_sg array to zeroes.  Perhaps not the ultimate
fix, but an effective work-around.  I can now boot 23-rc6-mm1 on an HP
Proliant x86_64 with CCISS boot disk.

Signed-off-by:  Lee Schermerhorn &lt;lee.schermerhorn@hp.com&gt;

 drivers/block/cciss.c |    1 +
 1 file changed, 1 insertion(+)
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers/block/cpqarray,cciss: kill unused var</title>
<updated>2007-10-16T07:59:55+00:00</updated>
<author>
<name>Jeff Garzik</name>
<email>jeff@garzik.org</email>
</author>
<published>2007-10-15T09:02:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=87ad90016483f7f112021c7c82d3d72e682324f6'/>
<id>87ad90016483f7f112021c7c82d3d72e682324f6</id>
<content type='text'>
The recent bio work and subsequent fixups created unused variables.

Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The recent bio work and subsequent fixups created unused variables.

Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
