<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs, branch v2.6.30.4</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs?h=v2.6.30.4</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs?h=v2.6.30.4'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2009-07-30T21:40:36Z</updated>
<entry>
<title>eCryptfs: parse_tag_3_packet check tag 3 packet encrypted key size (CVE-2009-2407)</title>
<updated>2009-07-30T21:40:36Z</updated>
<author>
<name>Ramon de Carvalho Valle</name>
<email>ramon@risesecurity.org</email>
</author>
<published>2009-07-28T18:58:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=59a1c9b5b74e95eea73a6f85c574bd63031a0bcf'/>
<id>urn:sha1:59a1c9b5b74e95eea73a6f85c574bd63031a0bcf</id>
<content type='text'>
commit f151cd2c54ddc7714e2f740681350476cda03a28 upstream.

The parse_tag_3_packet function does not check if the tag 3 packet contains a
encrypted key size larger than ECRYPTFS_MAX_ENCRYPTED_KEY_BYTES.

Signed-off-by: Ramon de Carvalho Valle &lt;ramon@risesecurity.org&gt;
[tyhicks@linux.vnet.ibm.com: Added printk newline and changed goto to out_free]
Signed-off-by: Tyler Hicks &lt;tyhicks@linux.vnet.ibm.com&gt;
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>eCryptfs: Check Tag 11 literal data buffer size (CVE-2009-2406)</title>
<updated>2009-07-30T21:40:35Z</updated>
<author>
<name>Tyler Hicks</name>
<email>tyhicks@linux.vnet.ibm.com</email>
</author>
<published>2009-07-28T18:57:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4df9205138cd0c610b52eefe1ecdafdaf65cfb12'/>
<id>urn:sha1:4df9205138cd0c610b52eefe1ecdafdaf65cfb12</id>
<content type='text'>
commit 6352a29305373ae6196491e6d4669f301e26492e upstream.

Tag 11 packets are stored in the metadata section of an eCryptfs file to
store the key signature(s) used to encrypt the file encryption key.
After extracting the packet length field to determine the key signature
length, a check is not performed to see if the length would exceed the
key signature buffer size that was passed into parse_tag_11_packet().

Thanks to Ramon de Carvalho Valle for finding this bug using fsfuzzer.

Signed-off-by: Tyler Hicks &lt;tyhicks@linux.vnet.ibm.com&gt;
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>elf: fix one check-after-use</title>
<updated>2009-07-30T21:40:14Z</updated>
<author>
<name>Amerigo Wang</name>
<email>amwang@redhat.com</email>
</author>
<published>2009-07-01T05:06:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=63510144577601e1747480a250c6c01aebeb704e'/>
<id>urn:sha1:63510144577601e1747480a250c6c01aebeb704e</id>
<content type='text'>
commit e2dbe12557d85d81f4527879499f55681c3cca4f upstream.

Check before use it.

Signed-off-by: WANG Cong &lt;amwang@redhat.com&gt;
Cc: Alexander Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: Roland McGrath &lt;roland@redhat.com&gt;
Acked-by: James Morris &lt;jmorris@namei.org&gt;
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>nilfs2: fix disorder in cp count on error during deleting checkpoints</title>
<updated>2009-07-30T21:39:50Z</updated>
<author>
<name>Jiro SEKIBA</name>
<email>jir@unicus.jp</email>
</author>
<published>2009-07-04T14:00:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=23e839dc9cad6ea1d74a26abbf8dca6f785ca193'/>
<id>urn:sha1:23e839dc9cad6ea1d74a26abbf8dca6f785ca193</id>
<content type='text'>
commit d9a0a345ab7a58a30ec38e5bb7401a28714914d2 upstream.

This fixes a bug that checkpoint count gets wrong on errors when
deleting a series of checkpoints.

The count error is persistent since the checkpoint count is stored on
disk.  Some userland programs refer to the count via ioctl, and this
bugfix is needed to prevent malfunction of such programs.

Signed-off-by: Jiro SEKIBA &lt;jir@unicus.jp&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>nilfs2: fix incorrect KERN_CRIT messages in case of write failures</title>
<updated>2009-07-30T21:39:49Z</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-06-18T14:53:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7e59192836ca78e2fcc1448f7ece7192e1bf01f5'/>
<id>urn:sha1:7e59192836ca78e2fcc1448f7ece7192e1bf01f5</id>
<content type='text'>
commit 4a52df779700080de4afb0436d9dd9188514a69b upstream.

In case of write-failure retries, the following KERN_CRIT level
messages are mistakenly output by nilfs_dat_commit_start() function:

nilfs_dat_commit_start: vbn = 408463, start = 12506, end = 18446744073709551615, pbn = 530210
nilfs_dat_commit_start: vbn = 408515, start = 12506, end = 18446744073709551615, pbn = 530211
nilfs_dat_commit_start: vbn = 408464, start = 12506, end = 18446744073709551615, pbn = 530212
...

This suppresses these messages.

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>nilfs2: fix hang problem of log writer which occurs after write failures</title>
<updated>2009-07-30T21:39:48Z</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-06-18T14:52:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=def5dcb823a26bab8f1dc6b21b904c7de8e37bca'/>
<id>urn:sha1:def5dcb823a26bab8f1dc6b21b904c7de8e37bca</id>
<content type='text'>
commit 8227b29722fdbac72357aae155d171a5c777670c upstream.

Leandro Lucarella gave me a report that nilfs gets stuck after its
write function fails.

The problem turned out to be caused by bugs which leave writeback flag
on pages.  This fixes the problem by ensuring to clear the writeback
flag in error path.

Reported-by: Leandro Lucarella &lt;llucax@gmail.com&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>nilfs2: remove unlikely directive causing mis-conversion of error code</title>
<updated>2009-07-30T21:39:47Z</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-06-18T02:42:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f76cea526e01055bedb51a2b318f4d711e0144c4'/>
<id>urn:sha1:f76cea526e01055bedb51a2b318f4d711e0144c4</id>
<content type='text'>
commit 0cfae3d8795f388f9de78adb0171520d19da77e9 upstream.

The following error code handling in nilfs_segctor_write() function
wrongly converted negative error codes to a truth value (i.e. 1):

   err = unlikely(err) ? : res;

which originaly meant to be

   err = err ? : res;

This mis-conversion caused that write or sync functions receive the
unexpected error code.  This fixes the bug by removing the unlikely
directive.

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>block: fix sg SG_DXFER_TO_FROM_DEV regression</title>
<updated>2009-07-30T21:39:45Z</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@lab.ntt.co.jp</email>
</author>
<published>2009-07-09T12:46:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c637cbe1701c396f8c3dbf0b11c0c77d70980618'/>
<id>urn:sha1:c637cbe1701c396f8c3dbf0b11c0c77d70980618</id>
<content type='text'>
commit ecb554a846f8e9d2a58f6d6c118168a63ac065aa upstream.

I overlooked SG_DXFER_TO_FROM_DEV support when I converted sg to use
the block layer mapping API (2.6.28).

Douglas Gilbert explained SG_DXFER_TO_FROM_DEV:

http://www.spinics.net/lists/linux-scsi/msg37135.html

=
The semantics of SG_DXFER_TO_FROM_DEV were:
   - copy user space buffer to kernel (LLD) buffer
   - do SCSI command which is assumed to be of the DATA_IN
     (data from device) variety. This would overwrite
     some or all of the kernel buffer
   - copy kernel (LLD) buffer back to the user space.

The idea was to detect short reads by filling the original
user space buffer with some marker bytes ("0xec" it would
seem in this report). The "resid" value is a better way
of detecting short reads but that was only added this century
and requires co-operation from the LLD.
=

This patch changes the block layer mapping API to support this
semantics. This simply adds another field to struct rq_map_data and
enables __bio_copy_iov() to copy data from user space even with READ
requests.

It's better to add the flags field and kills null_mapped and the new
from_user fields in struct rq_map_data but that approach makes it
difficult to send this patch to stable trees because st and osst
drivers use struct rq_map_data (they were converted to use the block
layer in 2.6.29 and 2.6.30). Well, I should clean up the block layer
mapping API.

zhou sf reported this regiression and tested this patch:

http://www.spinics.net/lists/linux-scsi/msg37128.html
http://www.spinics.net/lists/linux-scsi/msg37168.html

Reported-by: zhou sf &lt;sxzzsf@gmail.com&gt;
Tested-by: zhou sf &lt;sxzzsf@gmail.com&gt;
Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>partitions: fix broken uevent_suppress conversion</title>
<updated>2009-07-30T21:39:35Z</updated>
<author>
<name>Heiko Carstens</name>
<email>heiko.carstens@de.ibm.com</email>
</author>
<published>2009-06-11T13:14:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6bfa23bd0b93d00e489ed1ec9670f8d780d003ae'/>
<id>urn:sha1:6bfa23bd0b93d00e489ed1ec9670f8d780d003ae</id>
<content type='text'>
commit f8c73c790c588fd70fda1632c8927a87b3d31dcd upstream.

git commit f67f129e "Driver core: implement uevent suppress in kobject"
contains this chunk for fs/partitions/check.c:

 	/* suppress uevent if the disk supresses it */
-	if (!ddev-&gt;uevent_suppress)
+	if (!dev_get_uevent_suppress(pdev))
 		kobject_uevent(&amp;pdev-&gt;kobj, KOBJ_ADD);

However that should have been

-	if (!ddev-&gt;uevent_suppress)
+	if (!dev_get_uevent_suppress(ddev))

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Acked-by: Ming Lei &lt;tom.leiming@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>cifs: free nativeFileSystem field before allocating a new one</title>
<updated>2009-07-30T21:39:24Z</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@redhat.com</email>
</author>
<published>2009-07-20T17:40:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6b5600f321f51cd409d05f475128d40fc7241a2d'/>
<id>urn:sha1:6b5600f321f51cd409d05f475128d40fc7241a2d</id>
<content type='text'>
commit 90a98b2f3f3647fb17667768a348b2b219f2a9f7 upstream.

...otherwise, we'll leak this memory if we have to reconnect (e.g. after
network failure).

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
