<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/block, branch v2.6.33.9</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/block?h=v2.6.33.9</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/block?h=v2.6.33.9'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-03-21T19:45:04Z</updated>
<entry>
<title>Fix pktcdvd ioctl dev_minor range check</title>
<updated>2011-03-21T19:45:04Z</updated>
<author>
<name>Dan Rosenberg</name>
<email>drosenberg@vsecurity.com</email>
</author>
<published>2010-09-27T16:30:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5aab0d7a20e4dca3268888c81ffa960531388347'/>
<id>urn:sha1:5aab0d7a20e4dca3268888c81ffa960531388347</id>
<content type='text'>
commit 252a52aa4fa22a668f019e55b3aac3ff71ec1c29 upstream.

The PKT_CTRL_CMD_STATUS device ioctl retrieves a pointer to a
pktcdvd_device from the global pkt_devs array.  The index into this
array is provided directly by the user and is a signed integer, so the
comparison to ensure that it falls within the bounds of this array will
fail when provided with a negative index.

This can be used to read arbitrary kernel memory or cause a crash due to
an invalid pointer dereference.  This can be exploited by users with
permission to open /dev/pktcdvd/control (on many distributions, this is
readable by group "cdrom").

Signed-off-by: Dan Rosenberg &lt;dan.j.rosenberg@gmail.com&gt;
[ Rather than add a cast, just make the function take the right type -Linus ]
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>cciss: Make cciss_seq_show handle holes in the h-&gt;drv[] array</title>
<updated>2010-02-05T12:15:36Z</updated>
<author>
<name>Stephen M. Cameron</name>
<email>scameron@beardog.cce.hp.com</email>
</author>
<published>2010-02-05T12:14:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=531c2dc70d339c5dfa8c3eb628c3459dc6f3a075'/>
<id>urn:sha1:531c2dc70d339c5dfa8c3eb628c3459dc6f3a075</id>
<content type='text'>
It is possible (and expected) for there to be holes in the h-&gt;drv[]
array, that is, some elements may be NULL pointers.  cciss_seq_show
needs to be made aware of this possibility to avoid an Oops.

To reproduce the Oops which this fixes:

1) Create two "arrays" in the Array Configuratino Utility and
   several logical drives on each array.
2) cat /proc/driver/cciss/cciss* in an infinite loop
3) delete some of the logical drives in the first "array."

Signed-off-by: Stephen M. Cameron &lt;scameron@beardog.cce.hp.com&gt;
Cc: stable@kernel.org
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>pktcdvd: removing device does not remove its sysfs dir</title>
<updated>2010-02-03T02:11:23Z</updated>
<author>
<name>Thadeu Lima de Souza Cascardo</name>
<email>cascardo@holoscopio.com</email>
</author>
<published>2010-02-02T21:44:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ca0bf64d99f6e3f6e2fe2585e52a0ac57354beac'/>
<id>urn:sha1:ca0bf64d99f6e3f6e2fe2585e52a0ac57354beac</id>
<content type='text'>
This is the counterpart to cba767175becadc5c4016cceb7bfdd2c7fe722f4
("pktcdvd: remove broken dev_t export of class devices").  Device is not
registered using dev_t, so it should not be destroyed using device_destroy
which looks up the device by dev_t.  This will fail and adding the device
again will fail with the "duplicate name" error.  This is fixed using
device_unregister instead of device_destroy.

Signed-off-by: Thadeu Lima de Souza Cascardo &lt;cascardo@holoscopio.com&gt;
Cc: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Cc: Peter Osterlund &lt;petero2@telia.com&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Cc: &lt;stable@kernel.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>
</entry>
<entry>
<title>drbd: null dereference bug</title>
<updated>2010-01-25T17:01:41Z</updated>
<author>
<name>Dan Carpenter</name>
<email>error27@gmail.com</email>
</author>
<published>2010-01-23T12:45:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d3db7b485ad7c467a61279d6a8ef51a3c83352df'/>
<id>urn:sha1:d3db7b485ad7c467a61279d6a8ef51a3c83352df</id>
<content type='text'>
epoch is always NULL here.

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
</content>
</entry>
<entry>
<title>drbd: fix max_segment_size initialization</title>
<updated>2010-01-22T10:34:54Z</updated>
<author>
<name>Lars Ellenberg</name>
<email>lars.ellenberg@linbit.com</email>
</author>
<published>2010-01-21T18:33:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=98ec286e016a028678cc943b1a1f87668ad447c8'/>
<id>urn:sha1:98ec286e016a028678cc943b1a1f87668ad447c8</id>
<content type='text'>
blk_queue_make_request() internally calls blk_set_default_limits(),
so calling blk_queue_max_segment_size() before is useless.
Ergo: move the call to blk_queue_max_segment_size() down a few lines.

Impact:
If, after a fresh modprobe, you first connect a Diskless drbd,
then attach, this could result in a DRBD Protocol Error at first.
The next connection attempt would then succeeded.

Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
</content>
</entry>
<entry>
<title>drbd: Allow online resizing of DRBD devices while peer not reachable (needs to be explicitly forced)</title>
<updated>2010-01-12T09:02:46Z</updated>
<author>
<name>Philipp Reisner</name>
<email>philipp.reisner@linbit.com</email>
</author>
<published>2009-12-22T12:35:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a393db6f10ef2d4f28257234cfc730e744dfb6a4'/>
<id>urn:sha1:a393db6f10ef2d4f28257234cfc730e744dfb6a4</id>
<content type='text'>
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
</content>
</entry>
<entry>
<title>drbd: Don't go into StandAlone mode when authentification failes because of network error</title>
<updated>2010-01-12T08:38:27Z</updated>
<author>
<name>Johannes Thoma</name>
<email>johannes.thoma@linbit.com</email>
</author>
<published>2010-01-07T15:02:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b10d96cb9c9a2a0029d28910ca517f4003051b04'/>
<id>urn:sha1:b10d96cb9c9a2a0029d28910ca517f4003051b04</id>
<content type='text'>
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
</content>
</entry>
<entry>
<title>drbd: check on CONFIG_LBDAF, not LBD</title>
<updated>2010-01-07T13:07:11Z</updated>
<author>
<name>Lars Ellenberg</name>
<email>lars.ellenberg@linbit.com</email>
</author>
<published>2010-01-05T18:33:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=36bfc7e2100ab3f9891bb779c36d5e685f253509'/>
<id>urn:sha1:36bfc7e2100ab3f9891bb779c36d5e685f253509</id>
<content type='text'>
It is called LBDAF since 2.6.31.

impact:
without this change, on 32bit,
DRBD would wrongly claim to only support 2TiB devices.

Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
</content>
</entry>
<entry>
<title>drivers/block/drbd: Correct NULL test</title>
<updated>2010-01-04T10:51:41Z</updated>
<author>
<name>Julia Lawall</name>
<email>julia@diku.dk</email>
</author>
<published>2009-12-27T21:27:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2d1ee87d8763b38668f6f11bb53abb689a49a43e'/>
<id>urn:sha1:2d1ee87d8763b38668f6f11bb53abb689a49a43e</id>
<content type='text'>
Test the just-allocated value for NULL rather than some other value.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@@
expression x,y;
statement S;
@@

x = \(kmalloc\|kcalloc\|kzalloc\)(...);
(
if ((x) == NULL) S
|
if (
-   y
+   x
       == NULL)
 S
)
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
</content>
</entry>
<entry>
<title>drbd: Silenced an assert that could triggered after changing write ordering method</title>
<updated>2009-12-31T08:33:09Z</updated>
<author>
<name>Philipp Reisner</name>
<email>philipp.reisner@linbit.com</email>
</author>
<published>2009-12-29T14:56:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=367a8d738542b091228613751af0958ce25bbeb3'/>
<id>urn:sha1:367a8d738542b091228613751af0958ce25bbeb3</id>
<content type='text'>
Immediately after changing the write ordering method, the epoch can already
be finished at this point.

Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
</content>
</entry>
</feed>
