<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/block, branch v2.6.16.23</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>[PATCH] USB: ub oops in block_uevent</title>
<updated>2006-05-20T22:00:28+00:00</updated>
<author>
<name>Pete Zaitcev</name>
<email>zaitcev@redhat.com</email>
</author>
<published>2006-05-03T07:16:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=572ae685ec6f034eedf34e9dc90fa8d904bcfc32'/>
<id>572ae685ec6f034eedf34e9dc90fa8d904bcfc32</id>
<content type='text'>
In kernel 2.6.16, if a mounted storage device is removed, an oops happens
because ub supplies an interface device (and kobject) to the block layer,
but neglects to pin it. And apparently, the block layer expects its users
to pin device structures.

The code in ub was broken this way for years. But the bug was exposed only
by 2.6.16 when it started to call block_uevent on close, which traverses
device structures (kobjects actually).

Signed-off-by: Pete Zaitcev &lt;zaitcev@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In kernel 2.6.16, if a mounted storage device is removed, an oops happens
because ub supplies an interface device (and kobject) to the block layer,
but neglects to pin it. And apparently, the block layer expects its users
to pin device structures.

The code in ub was broken this way for years. But the bug was exposed only
by 2.6.16 when it started to call block_uevent on close, which traverses
device structures (kobjects actually).

Signed-off-by: Pete Zaitcev &lt;zaitcev@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] cciss: bug fix for crash when running hpacucli</title>
<updated>2006-04-17T20:16:05+00:00</updated>
<author>
<name>Mike Miller</name>
<email>mikem@beardog.cca.cpqcorp.net</email>
</author>
<published>2006-04-10T22:38:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d90fd1f7c1e1003d899df415456f4f7164ff11e1'/>
<id>d90fd1f7c1e1003d899df415456f4f7164ff11e1</id>
<content type='text'>
Fix a crash when running hpacucli with multiple logical volumes on a cciss
controller.  We were not properly initializing the disk-&gt;queue and causing
a fault.

Thanks to Hasso Tepper for reporting the problem.  Thanks to Steve Cameron
for root causing the problem.  Most of the patch just moves things around.
The fix is a one-liner.

Signed-off-by: Mike Miller &lt;mike.miller@hp.com&gt;
Signed-off-by: Stephen Cameron &lt;steve.cameron@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix a crash when running hpacucli with multiple logical volumes on a cciss
controller.  We were not properly initializing the disk-&gt;queue and causing
a fault.

Thanks to Hasso Tepper for reporting the problem.  Thanks to Steve Cameron
for root causing the problem.  Most of the patch just moves things around.
The fix is a one-liner.

Signed-off-by: Mike Miller &lt;mike.miller@hp.com&gt;
Signed-off-by: Stephen Cameron &lt;steve.cameron@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] cciss: fix use-after-free in cciss_init_one</title>
<updated>2006-03-28T06:47:31+00:00</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2006-03-23T10:59:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a0049f933fdbab3d483d0d4d865a505126dbcbf4'/>
<id>a0049f933fdbab3d483d0d4d865a505126dbcbf4</id>
<content type='text'>
free_hba() sets hba[i] to NULL, the dereference afterwards results in this
crash.  Setting busy_initializing to 0 actually looks unnecessary, but I'm
not entirely sure, which is why I left it in.

cciss: controller appears to be disabled
Unable to handle kernel NULL pointer dereference at virtual address 00000370
 printing eip:
c1114d53
*pde = 00000000
Oops: 0002 [#1]
Modules linked in:
CPU:    0
EIP:    0060:[&lt;c1114d53&gt;]    Not tainted VLI
EFLAGS: 00010286   (2.6.16 #1)
EIP is at cciss_init_one+0x4e9/0x4fe
eax: 00000000   ebx: c132cd60   ecx: c13154e4   edx: c27d3c00
esi: 00000000   edi: c2748800   ebp: c2536ee4   esp: c2536eb8
ds: 007b   es: 007b   ss: 0068
Process swapper (pid: 1, threadinfo=c2536000 task=c2535a30)
Stack: &lt;0&gt;00000000 00000000 00000000 c13fdba0 c2536ee8 c13159c0 c2536f38
f7c74740
       c132cd60 c132cd60 ffffffed c2536ef0 c10c1d51 c2748800 c2536f04
c10c1d85
       c132cd60 c2748800 c132cd8c c2536f14 c10c1db8 c2748848 00000000
c2536f28
Call Trace:
 [&lt;c10031d5&gt;] show_stack_log_lvl+0xa8/0xb0
 [&lt;c1003305&gt;] show_registers+0x102/0x16a
 [&lt;c10034a2&gt;] die+0xc1/0x13c
 [&lt;c1288160&gt;] do_page_fault+0x38a/0x525
 [&lt;c1002e9b&gt;] error_code+0x4f/0x54
 [&lt;c10c1d51&gt;] pci_call_probe+0xd/0x10
 [&lt;c10c1d85&gt;] __pci_device_probe+0x31/0x43
 [&lt;c10c1db8&gt;] pci_device_probe+0x21/0x34
 [&lt;c110a654&gt;] driver_probe_device+0x44/0x99
 [&lt;c110a73f&gt;] __driver_attach+0x39/0x5d
 [&lt;c1109e1c&gt;] bus_for_each_dev+0x35/0x5a
 [&lt;c110a777&gt;] driver_attach+0x14/0x16
 [&lt;c110a220&gt;] bus_add_driver+0x5c/0x8f
 [&lt;c110ab22&gt;] driver_register+0x73/0x78
 [&lt;c10c1f6d&gt;] __pci_register_driver+0x5f/0x71
 [&lt;c13bf935&gt;] cciss_init+0x1a/0x1c
 [&lt;c13aa718&gt;] do_initcalls+0x4c/0x96
 [&lt;c13aa77e&gt;] do_basic_setup+0x1c/0x1e
 [&lt;c10002b1&gt;] init+0x35/0x118
 [&lt;c1000cf5&gt;] kernel_thread_helper+0x5/0xb
Code: 04 b5 e0 de 40 c1 8d 50 04 8b 40 34 e8 3f b7 f9 ff 8b 04 b5 e0 de
40 c1 e8 aa f3 ff ff 89 f0 e8 e8 fa ff ff 8b 04 b5 e0 de 40 c1 &lt;c7&gt; 80
70 03 00 00 00 00 00 00 83 c8 ff 8d 65 f4 5b 5e 5f 5d c3
 &lt;0&gt;Kernel panic - not syncing: Attempted to kill init!

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Cc: &lt;mike.miller@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
free_hba() sets hba[i] to NULL, the dereference afterwards results in this
crash.  Setting busy_initializing to 0 actually looks unnecessary, but I'm
not entirely sure, which is why I left it in.

cciss: controller appears to be disabled
Unable to handle kernel NULL pointer dereference at virtual address 00000370
 printing eip:
c1114d53
*pde = 00000000
Oops: 0002 [#1]
Modules linked in:
CPU:    0
EIP:    0060:[&lt;c1114d53&gt;]    Not tainted VLI
EFLAGS: 00010286   (2.6.16 #1)
EIP is at cciss_init_one+0x4e9/0x4fe
eax: 00000000   ebx: c132cd60   ecx: c13154e4   edx: c27d3c00
esi: 00000000   edi: c2748800   ebp: c2536ee4   esp: c2536eb8
ds: 007b   es: 007b   ss: 0068
Process swapper (pid: 1, threadinfo=c2536000 task=c2535a30)
Stack: &lt;0&gt;00000000 00000000 00000000 c13fdba0 c2536ee8 c13159c0 c2536f38
f7c74740
       c132cd60 c132cd60 ffffffed c2536ef0 c10c1d51 c2748800 c2536f04
c10c1d85
       c132cd60 c2748800 c132cd8c c2536f14 c10c1db8 c2748848 00000000
c2536f28
Call Trace:
 [&lt;c10031d5&gt;] show_stack_log_lvl+0xa8/0xb0
 [&lt;c1003305&gt;] show_registers+0x102/0x16a
 [&lt;c10034a2&gt;] die+0xc1/0x13c
 [&lt;c1288160&gt;] do_page_fault+0x38a/0x525
 [&lt;c1002e9b&gt;] error_code+0x4f/0x54
 [&lt;c10c1d51&gt;] pci_call_probe+0xd/0x10
 [&lt;c10c1d85&gt;] __pci_device_probe+0x31/0x43
 [&lt;c10c1db8&gt;] pci_device_probe+0x21/0x34
 [&lt;c110a654&gt;] driver_probe_device+0x44/0x99
 [&lt;c110a73f&gt;] __driver_attach+0x39/0x5d
 [&lt;c1109e1c&gt;] bus_for_each_dev+0x35/0x5a
 [&lt;c110a777&gt;] driver_attach+0x14/0x16
 [&lt;c110a220&gt;] bus_add_driver+0x5c/0x8f
 [&lt;c110ab22&gt;] driver_register+0x73/0x78
 [&lt;c10c1f6d&gt;] __pci_register_driver+0x5f/0x71
 [&lt;c13bf935&gt;] cciss_init+0x1a/0x1c
 [&lt;c13aa718&gt;] do_initcalls+0x4c/0x96
 [&lt;c13aa77e&gt;] do_basic_setup+0x1c/0x1e
 [&lt;c10002b1&gt;] init+0x35/0x118
 [&lt;c1000cf5&gt;] kernel_thread_helper+0x5/0xb
Code: 04 b5 e0 de 40 c1 8d 50 04 8b 40 34 e8 3f b7 f9 ff 8b 04 b5 e0 de
40 c1 e8 aa f3 ff ff 89 f0 e8 e8 fa ff ff 8b 04 b5 e0 de 40 c1 &lt;c7&gt; 80
70 03 00 00 00 00 00 00 83 c8 ff 8d 65 f4 5b 5e 5f 5d c3
 &lt;0&gt;Kernel panic - not syncing: Attempted to kill init!

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Cc: &lt;mike.miller@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] dac960: add disk entropy in request completions</title>
<updated>2006-03-08T22:15:04+00:00</updated>
<author>
<name>Matt Mackall</name>
<email>mpm@selenic.com</email>
</author>
<published>2006-03-08T05:55:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=62287fbb54b4af71dc5a4918350f81a4cd467788'/>
<id>62287fbb54b4af71dc5a4918350f81a4cd467788</id>
<content type='text'>
Signed-off-by: Matt Mackall &lt;mpm@selenic.com&gt;
Tested-by: Anders K. Pedersen &lt;akp@cohaesio.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Matt Mackall &lt;mpm@selenic.com&gt;
Tested-by: Anders K. Pedersen &lt;akp@cohaesio.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] pktcdvd: Only return -EROFS when appropriate</title>
<updated>2006-02-21T04:00:11+00:00</updated>
<author>
<name>Peter Osterlund</name>
<email>petero2@telia.com</email>
</author>
<published>2006-02-21T02:28:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9db91546570ca1b3bc90b4c2d25d5bb74a44be24'/>
<id>9db91546570ca1b3bc90b4c2d25d5bb74a44be24</id>
<content type='text'>
When attempting to open the device for writing, only return -EROFS if the disc
appears to be readable but not writable.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When attempting to open the device for writing, only return -EROFS if the disc
appears to be readable but not writable.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] pktcdvd: Fix the logic in the pkt_writable_track function</title>
<updated>2006-02-21T04:00:10+00:00</updated>
<author>
<name>Peter Osterlund</name>
<email>petero2@telia.com</email>
</author>
<published>2006-02-21T02:28:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ab863ec342cf148d02ed180b8ecf3a71a024e4be'/>
<id>ab863ec342cf148d02ed180b8ecf3a71a024e4be</id>
<content type='text'>
Fix the pkt_writable_track() function to make it work correctly for all types
of CD/DVD discs.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix the pkt_writable_track() function to make it work correctly for all types
of CD/DVD discs.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] pktcdvd: Remove useless printk statements</title>
<updated>2006-02-21T04:00:10+00:00</updated>
<author>
<name>Peter Osterlund</name>
<email>petero2@telia.com</email>
</author>
<published>2006-02-21T02:28:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3b4828047d4ebe3703dedbfc739958c319ff0b24'/>
<id>3b4828047d4ebe3703dedbfc739958c319ff0b24</id>
<content type='text'>
Writing the detected disc type in the kernel log is not useful during normal
use of the driver, so remove the printk statements.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Writing the detected disc type in the kernel log is not useful during normal
use of the driver, so remove the printk statements.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] pktcdvd: Rename functions and make their return values sane</title>
<updated>2006-02-21T04:00:10+00:00</updated>
<author>
<name>Peter Osterlund</name>
<email>petero2@telia.com</email>
</author>
<published>2006-02-21T02:28:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7c613d593370292d1685f5794c743a2323be3a09'/>
<id>7c613d593370292d1685f5794c743a2323be3a09</id>
<content type='text'>
Boolean functions should return non-zero when they mean "true", otherwise the
calling code looks weird.  (As suggested by Linus.)

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Boolean functions should return non-zero when they mean "true", otherwise the
calling code looks weird.  (As suggested by Linus.)

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] pktcdvd: Correctly set rq-&gt;cmd_len in pkt_generic_packet()</title>
<updated>2006-02-21T04:00:10+00:00</updated>
<author>
<name>Peter Osterlund</name>
<email>petero2@telia.com</email>
</author>
<published>2006-02-21T02:28:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cef289633a9321cd99dd5f6cc935657dc487e9f0'/>
<id>cef289633a9321cd99dd5f6cc935657dc487e9f0</id>
<content type='text'>
It looks like the code in pkt_generic_packet() worked by luck in the past, but
after commit 186d330e682210100c671355580a8592e4a21692 leaving rq-&gt;cmd_len
uninitialized doesn't work any more.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It looks like the code in pkt_generic_packet() worked by luck in the past, but
after commit 186d330e682210100c671355580a8592e4a21692 leaving rq-&gt;cmd_len
uninitialized doesn't work any more.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] pktcdvd: Reduce stack usage</title>
<updated>2006-02-15T00:09:33+00:00</updated>
<author>
<name>Peter Osterlund</name>
<email>petero2@telia.com</email>
</author>
<published>2006-02-14T21:52:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7277232374680595cdbc774fd246b206f56db015'/>
<id>7277232374680595cdbc774fd246b206f56db015</id>
<content type='text'>
Reduce stack usage in the pkt_start_write() function.  Even though it's not
currently a real problem, the pages and offsets arrays can be eliminated,
which saves approximately 1000 bytes of stack space.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reduce stack usage in the pkt_start_write() function.  Even though it's not
currently a real problem, the pages and offsets arrays can be eliminated,
which saves approximately 1000 bytes of stack space.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
