<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/block, branch v2.6.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=v2.6.12</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.12'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2005-06-17T14:15:10Z</updated>
<entry>
<title>When cfq I/O scheduler is selected, get_request() in __make_request() calls</title>
<updated>2005-06-17T14:15:10Z</updated>
<author>
<name>Kiyoshi Ueda</name>
<email>k-ueda@ct.jp.nec.com</email>
</author>
<published>2005-06-17T14:15:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=db3b5848ea6440968fcdd29b80514d0de044bb7c'/>
<id>urn:sha1:db3b5848ea6440968fcdd29b80514d0de044bb7c</id>
<content type='text'>
__cfq_get_queue().  __cfq_get_queue() finds an existing queue (struct
cfq_queue) of the current process for the device and returns it.  If it's not
found, __cfq_get_queue() creates and returns a new one if __cfq_get_queue() is
called with __GFP_WAIT flag, or __cfq_get_queue() returns NULL (this means that
get_request() fails) if no __GFP_WAIT flag.

On the other hand, in __make_request(), get_request() is called without
__GFP_WAIT flag at the first time.  Thus, the get_request() fails when there is
no existing queue, typically when it's called for the first I/O request of the
process to the device.

Though it will be followed by get_request_wait() for general case,
__make_request() will just end the I/O with an error (EWOULDBLOCK) when the
request was for read-ahead.

Signed-off-by: Jens Axboe &lt;axboe@suse.de&gt;
Signed-off-by: Kiyoshi Ueda &lt;k-ueda@ct.jp.nec.com&gt;
Signed-off-by: Jun'ichi Nomura &lt;j-nomura@ce.jp.nec.com&gt;
</content>
</entry>
<entry>
<title> This patch fixes q-&gt;unplug_thresh condition check in</title>
<updated>2005-06-16T10:57:31Z</updated>
<author>
<name>Tejun Heo</name>
<email>htejun@gmail.com</email>
</author>
<published>2005-06-16T10:57:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c374f127e4ff17a318b9ae95a5bf65f370c2d0b1'/>
<id>urn:sha1:c374f127e4ff17a318b9ae95a5bf65f370c2d0b1</id>
<content type='text'>
__elv_add_request().  rq.count[READ] + rq.count[WRITE] can increase
more than one if another thread has allocated a request after the
current request is allocated or in_flight could have changed resulting
in larger-than-one change of nrq, thus breaking the threshold
mechanism.

Signed-off-by: Jens Axboe &lt;axboe@suse.de&gt;
Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;


</content>
</entry>
<entry>
<title>This patch kills elevator_global_init() in elevator.c which does</title>
<updated>2005-06-16T10:56:15Z</updated>
<author>
<name>Tejun Heo</name>
<email>htejun@gmail.com</email>
</author>
<published>2005-06-16T10:56:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9c56187d3c345cc0e7a2f162b8c32543175d7bf7'/>
<id>urn:sha1:9c56187d3c345cc0e7a2f162b8c32543175d7bf7</id>
<content type='text'>
nothing.

Signed-off-by: Jens Axboe &lt;axboe@suse.de&gt;
Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
</content>
</entry>
<entry>
<title>[PATCH] USB: fix ub issues</title>
<updated>2005-06-09T08:38:11Z</updated>
<author>
<name>Pete Zaitcev</name>
<email>zaitcev@redhat.com</email>
</author>
<published>2005-06-06T20:54:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9f793d2c77ec5818679e4747c554d9333cecf476'/>
<id>urn:sha1:9f793d2c77ec5818679e4747c554d9333cecf476</id>
<content type='text'>
This smoothes two imperfections:
- Increase number of LUNs per device from 4 to 9. The best solution
  would be to remove this limit altogether, but that has to wait until
  the time when more than 26 hosts are allowed.
- Replace mdelay with msleep in a probing routine.

Signed-off-by: Pete Zaitcev &lt;zaitcev@yahoo.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] USB: Support multiply-LUN devices in ub</title>
<updated>2005-06-03T07:04:27Z</updated>
<author>
<name>Pete Zaitcev</name>
<email>zaitcev@redhat.com</email>
</author>
<published>2005-05-01T23:05:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f4800078d9ed4bd20b1b27f56e7b68cfa0d73038'/>
<id>urn:sha1:f4800078d9ed4bd20b1b27f56e7b68cfa0d73038</id>
<content type='text'>
Signed-off-by: Pete Zaitcev &lt;zaitcev@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

diff -urp -X dontdiff linux-2.6.12-rc3/drivers/block/ub.c linux-2.6.12-rc3-lem/drivers/block/ub.c
</content>
</entry>
<entry>
<title>[PATCH] packet driver permission checking fix</title>
<updated>2005-05-20T22:48:16Z</updated>
<author>
<name>Peter Osterlund</name>
<email>petero2@telia.com</email>
</author>
<published>2005-05-20T20:59:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=46f4e1b7d5fa3ddf2486bf69716c404147e38ebf'/>
<id>urn:sha1:46f4e1b7d5fa3ddf2486bf69716c404147e38ebf</id>
<content type='text'>
If you tried to open a packet device first in read-only mode and then a
second time in read-write mode, the second open succeeded even though the
device was not correctly set up for writing.  If you then tried to write
data to the device, the writes would fail with I/O errors.

This patch prevents that problem by making the second open fail with
-EBUSY.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Cc: Al Viro &lt;viro@parcelfarce.linux.theplanet.co.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] CDRW/DVD packet writing data corruption fix</title>
<updated>2005-05-17T14:59:18Z</updated>
<author>
<name>Peter Osterlund</name>
<email>petero2@telia.com</email>
</author>
<published>2005-05-17T04:53:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7baeb6a5ccab2d472679a053e64a63ac423c3a42'/>
<id>urn:sha1:7baeb6a5ccab2d472679a053e64a63ac423c3a42</id>
<content type='text'>
I found a bug in the packet writing driver that could cause data
corruption.  The problem arised if the driver got a write request for a
sector in a "zone" it was already working on.  In that case it was supposed
to queue the write request until it was done processing earlier requests
for the same zone, and instead work on some other zone in the mean time.
However, if there was no other zone to work on, the driver would initiate
two packet_data objects for the same zone, causing unpredictable things to
happen.

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>
</entry>
<entry>
<title>[PATCH] Fix root hole in pktcdvd</title>
<updated>2005-05-17T04:07:31Z</updated>
<author>
<name>Peter Osterlund</name>
<email>petero2@telia.com</email>
</author>
<published>2005-05-14T07:58:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=118326e940bdecef6c459d42ccf05256ba86daa7'/>
<id>urn:sha1:118326e940bdecef6c459d42ccf05256ba86daa7</id>
<content type='text'>
ioctl_by_bdev may only be used INSIDE the kernel.  If the "arg" argument
refers to memory that is accessed by put_user/get_user in the ioctl
function, the memory needs to be in the kernel address space (that's the
set_fs(KERNEL_DS) doing in the ioctl_by_bdev).  This works on i386 because
even with set_fs(KERNEL_DS) the user space memory is still accessible with
put_user/get_user.  That is not true for s390.  In short the ioctl
implementation of the pktcdvd device driver is horribly broken.

Signed-off-by: Peter Osterlund &lt;petero2@telia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] Fix root hole in raw device</title>
<updated>2005-05-17T04:07:21Z</updated>
<author>
<name>Stephen Tweedie</name>
<email>sct@redhat.com</email>
</author>
<published>2005-05-14T03:31:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=68f66feb300423bb9ee5daecb1951af394425a38'/>
<id>urn:sha1:68f66feb300423bb9ee5daecb1951af394425a38</id>
<content type='text'>
[Patch] Fix raw device ioctl pass-through

Raw character devices are supposed to pass ioctls through to the block
devices they are bound to.  Unfortunately, they are using the wrong
function for this: ioctl_by_bdev(), instead of blkdev_ioctl().

ioctl_by_bdev() performs a set_fs(KERNEL_DS) before calling the ioctl,
redirecting the user-space buffer access to the kernel address space.
This is, needless to say, a bad thing.

This was noticed first on s390, where raw IO was non-functioning.  The
s390 driver config does not actually allow raw IO to be enabled, which
was the first part of the problem.  Secondly, the s390 kernel address
space is distinct from user, causing legal raw ioctls to fail.  I've
reproduced this on a kernel built with 4G:4G split on x86, which fails
in the same way (-EFAULT if the address does not exist kernel-side;
returns success without actually populating the user buffer if it does.)

The patch below fixes both the config and address-space problems.  It's
based closely on a patch by Jan Glauber &lt;jang@de.ibm.com&gt;, which has
been tested on s390 at IBM.  I've tested it on x86 4G:4G (split address
space) and x86_64 (common address space).

Kernel-address-space access has been assigned CAN-2005-1264.

Signed-off-by: Stephen Tweedie &lt;sct@redhat.com&gt;
Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] drivers/block/rd.c: rd_size shouldn't be static</title>
<updated>2005-05-06T23:58:18Z</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@stusta.de</email>
</author>
<published>2005-05-06T23:28:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=cccf25087f1cb24344b2140ca319b4afe4cf79a8'/>
<id>urn:sha1:cccf25087f1cb24344b2140ca319b4afe4cf79a8</id>
<content type='text'>
I somehow missed that there is external usage of rd_size on some
architectures.

Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
