<feed xmlns='http://www.w3.org/2005/Atom'>
<title>snowball/igloo-kernel.git/fs, branch KNOWN_GOOD</title>
<subtitle>Igloo kernel</subtitle>
<id>https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/atom?h=KNOWN_GOOD</id>
<link rel='self' href='https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/atom?h=KNOWN_GOOD'/>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/'/>
<updated>2011-04-18T20:19:07+00:00</updated>
<entry>
<title>Merge branch 'upstream/linaro.38' into linaro-android.38</title>
<updated>2011-04-18T20:19:07+00:00</updated>
<author>
<name>John Stultz</name>
<email>john.stultz@linaro.org</email>
</author>
<published>2011-04-18T20:19:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/commit/?id=775d71e49c65f1f6aa57776ea1da62988fc9a30a'/>
<id>urn:sha1:775d71e49c65f1f6aa57776ea1da62988fc9a30a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge commit 'v2.6.38.3' into linaro-2.6.38</title>
<updated>2011-04-15T02:54:21+00:00</updated>
<author>
<name>Nicolas Pitre</name>
<email>nicolas.pitre@linaro.org</email>
</author>
<published>2011-04-15T02:54:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/commit/?id=3ec10cd8b526c6b10170c2649002672ee2019e73'/>
<id>urn:sha1:3ec10cd8b526c6b10170c2649002672ee2019e73</id>
<content type='text'>
</content>
</entry>
<entry>
<title>nfsd4: fix oops on lock failure</title>
<updated>2011-04-14T20:02:40+00:00</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@redhat.com</email>
</author>
<published>2011-03-28T07:15:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/commit/?id=212795f2be795d6538f225d157b33d58fb64d067'/>
<id>urn:sha1:212795f2be795d6538f225d157b33d58fb64d067</id>
<content type='text'>
commit 23fcf2ec93fb8573a653408316af599939ff9a8e upstream.

Lock stateid's can have access_bmap 0 if they were only partially
initialized (due to a failed lock request); handle that case in
free_generic_stateid.

------------[ cut here ]------------
kernel BUG at fs/nfsd/nfs4state.c:380!
invalid opcode: 0000 [#1] SMP
last sysfs file: /sys/kernel/mm/ksm/run
Modules linked in: nfs fscache md4 nls_utf8 cifs ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat bridge stp llc nfsd lockd nfs_acl auth_rpcgss sunrpc ipv6 ppdev parport_pc parport pcnet32 mii pcspkr microcode i2c_piix4 BusLogic floppy [last unloaded: mperf]

Pid: 1468, comm: nfsd Not tainted 2.6.38+ #120 VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform
EIP: 0060:[&lt;e24f180d&gt;] EFLAGS: 00010297 CPU: 0
EIP is at nfs4_access_to_omode+0x1c/0x29 [nfsd]
EAX: ffffffff EBX: dd758120 ECX: 00000000 EDX: 00000004
ESI: dd758120 EDI: ddfe657c EBP: dd54dde0 ESP: dd54dde0
 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
Process nfsd (pid: 1468, ti=dd54c000 task=ddc92580 task.ti=dd54c000)
Stack:
 dd54ddf0 e24f19ca 00000000 ddfe6560 dd54de08 e24f1a5d dd758130 deee3a20
 ddfe6560 31270000 dd54df1c e24f52fd 0000000f dd758090 e2505dd0 0be304cf
 dbb51d68 0000000e ddfe657c ddcd8020 dd758130 dd758128 dd7580d8 dd54de68
Call Trace:
 [&lt;e24f19ca&gt;] free_generic_stateid+0x1c/0x3e [nfsd]
 [&lt;e24f1a5d&gt;] release_lockowner+0x71/0x8a [nfsd]
 [&lt;e24f52fd&gt;] nfsd4_lock+0x617/0x66c [nfsd]
 [&lt;e24e57b6&gt;] ? nfsd_setuser+0x199/0x1bb [nfsd]
 [&lt;e24e056c&gt;] ? nfsd_setuser_and_check_port+0x65/0x81 [nfsd]
 [&lt;c07a0052&gt;] ? _cond_resched+0x8/0x1c
 [&lt;c04ca61f&gt;] ? slab_pre_alloc_hook.clone.33+0x23/0x27
 [&lt;c04cac01&gt;] ? kmem_cache_alloc+0x1a/0xd2
 [&lt;c04835a0&gt;] ? __call_rcu+0xd7/0xdd
 [&lt;e24e0dfb&gt;] ? fh_verify+0x401/0x452 [nfsd]
 [&lt;e24f0b61&gt;] ? nfsd4_encode_operation+0x52/0x117 [nfsd]
 [&lt;e24ea0d7&gt;] ? nfsd4_putfh+0x33/0x3b [nfsd]
 [&lt;e24f4ce6&gt;] ? nfsd4_delegreturn+0xd4/0xd4 [nfsd]
 [&lt;e24ea2c9&gt;] nfsd4_proc_compound+0x1ea/0x33e [nfsd]
 [&lt;e24de6ee&gt;] nfsd_dispatch+0xd1/0x1a5 [nfsd]
 [&lt;e1d6e1c7&gt;] svc_process_common+0x282/0x46f [sunrpc]
 [&lt;e1d6e578&gt;] svc_process+0xdc/0xfa [sunrpc]
 [&lt;e24de0fa&gt;] nfsd+0xd6/0x115 [nfsd]
 [&lt;e24de024&gt;] ? nfsd_shutdown+0x24/0x24 [nfsd]
 [&lt;c0454322&gt;] kthread+0x62/0x67
 [&lt;c04542c0&gt;] ? kthread_worker_fn+0x114/0x114
 [&lt;c07a6ebe&gt;] kernel_thread_helper+0x6/0x10
Code: eb 05 b8 00 00 27 4f 8d 65 f4 5b 5e 5f 5d c3 83 e0 03 55 83 f8 02 89 e5 74 17 83 f8 03 74 05 48 75 09 eb 09 b8 02 00 00 00 eb 0b &lt;0f&gt; 0b 31 c0 eb 05 b8 01 00 00 00 5d c3 55 89 e5 57 56 89 d6 8d
EIP: [&lt;e24f180d&gt;] nfs4_access_to_omode+0x1c/0x29 [nfsd] SS:ESP 0068:dd54dde0
---[ end trace 2b0bf6c6557cb284 ]---

The trace route is:

 -&gt; nfsd4_lock()
   -&gt; if (lock-&gt;lk_is_new) {
     -&gt; alloc_init_lock_stateid()

        3739: stp-&gt;st_access_bmap = 0;

   -&gt;if (status &amp;&amp; lock-&gt;lk_is_new &amp;&amp; lock_sop)
     -&gt; release_lockowner()
      -&gt; free_generic_stateid()
       -&gt; nfs4_access_bmap_to_omode()
          -&gt; nfs4_access_to_omode()

        380: BUG();   *****

This problem was introduced by 0997b173609b9229ece28941c118a2a9b278796e.

Reported-by: Mi Jinlong &lt;mijinlong@cn.fujitsu.com&gt;
Tested-by: Mi Jinlong &lt;mijinlong@cn.fujitsu.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>nfsd: fix auth_domain reference leak on nlm operations</title>
<updated>2011-04-14T20:02:40+00:00</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@redhat.com</email>
</author>
<published>2011-03-25T02:51:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/commit/?id=39932bd2baf36a8521b89795ac21efbec7e0d976'/>
<id>urn:sha1:39932bd2baf36a8521b89795ac21efbec7e0d976</id>
<content type='text'>
commit 954032d2527f2fce7355ba70709b5e143d6b686f upstream.

This was noticed by users who performed more than 2^32 lock operations
and hence made this counter overflow (eventually leading to
use-after-free's).  Setting rq_client to NULL here means that it won't
later get auth_domain_put() when it should be.

Appears to have been introduced in 2.5.42 by "[PATCH] kNFSd: Move auth
domain lookup into svcauth" which moved most of the rq_client handling
to common svcauth code, but left behind this one line.

Cc: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ext4: fix credits computing for indirect mapped files</title>
<updated>2011-04-14T20:02:40+00:00</updated>
<author>
<name>Yongqiang Yang</name>
<email>xiaoqiangnk@gmail.com</email>
</author>
<published>2011-04-04T19:40:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/commit/?id=6fc45e2d18e042ac3d7677fcec64e2f0308f8b5f'/>
<id>urn:sha1:6fc45e2d18e042ac3d7677fcec64e2f0308f8b5f</id>
<content type='text'>
commit 5b41395fcc0265fc9f193aef9df39ce49d64677c upstream.

When writing a contiguous set of blocks, two indirect blocks could be
needed depending on how the blocks are aligned, so we need to increase
the number of credits needed by one.

[ Also fixed a another bug which could further underestimate the
  number of journal credits needed by 1; the code was using integer
  division instead of DIV_ROUND_UP() -- tytso]

Signed-off-by: Yongqiang Yang &lt;xiaoqiangnk@gmail.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ext4: fix a double free in ext4_register_li_request</title>
<updated>2011-04-14T20:02:40+00:00</updated>
<author>
<name>Tao Ma</name>
<email>boyu.mt@taobao.com</email>
</author>
<published>2011-04-04T20:00:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/commit/?id=53224a1f02f493bb1a37bad94b596cc4314777e6'/>
<id>urn:sha1:53224a1f02f493bb1a37bad94b596cc4314777e6</id>
<content type='text'>
commit 46e4690bbd9a4f8d9e7c4f34e34b48f703ad47e0 upstream.

In ext4_register_li_request, we malloc a ext4_li_request and
inserts it into ext4_li_info-&gt;li_request_list. In case of any
error later, we free it in the end.  But if we have some error
in ext4_run_lazyinit_thread, the whole li_request_list will be
dropped and freed in it. So we will double free this ext4_li_request.

This patch just sets elr to NULL after it is inserted to the list
so that the latter kfree won't double free it.

Signed-off-by: Tao Ma &lt;boyu.mt@taobao.com&gt;
Reviewed-by: Lukas Czerner &lt;lczerner@redhat.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Squashfs: handle corruption of directory structure</title>
<updated>2011-04-14T20:02:39+00:00</updated>
<author>
<name>Phillip Lougher</name>
<email>phillip@lougher.demon.co.uk</email>
</author>
<published>2011-03-15T22:09:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/commit/?id=3c215f5c980a983e5674cf0fd55a4e5f561333ba'/>
<id>urn:sha1:3c215f5c980a983e5674cf0fd55a4e5f561333ba</id>
<content type='text'>
commit 44cff8a9ee8a974f9e931df910688e7fc1f0b0f9 upstream.

Handle the rare case where a directory metadata block is uncompressed and
corrupted, leading to a kernel oops in directory scanning (memcpy).
Normally corruption is detected at the decompression stage and dealt with
then, however, this will not happen if:

- metadata isn't compressed (users can optionally request no metadata
  compression), or
- the compressed metadata block was larger than the original, in which
  case the uncompressed version was used, or
- the data was corrupt after decompression

This patch fixes this by adding some sanity checks against known maximum
values.

Signed-off-by: Phillip Lougher &lt;phillip@lougher.demon.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Squashfs: Use vmalloc rather than kmalloc for zlib workspace</title>
<updated>2011-04-14T20:02:38+00:00</updated>
<author>
<name>Phillip Lougher</name>
<email>phillip@lougher.demon.co.uk</email>
</author>
<published>2011-03-22T23:01:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/commit/?id=2b086ef28939e3cd943664fc84dc54d01d261c2c'/>
<id>urn:sha1:2b086ef28939e3cd943664fc84dc54d01d261c2c</id>
<content type='text'>
commit 117a91e0f25fd7698e20ac3dfa62086be3dc82a3 upstream.

Bugzilla bug 31422 reports occasional "page allocation failure. order:4"
at Squashfs mount time.  Fix this by making zlib workspace allocation
use vmalloc rather than kmalloc.

Reported-by: Mehmet Giritli &lt;mehmet@giritli.eu&gt;
Signed-off-by: Phillip Lougher &lt;phillip@lougher.demon.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Treat writes as new when holes span across page boundaries</title>
<updated>2011-04-14T20:02:30+00:00</updated>
<author>
<name>Goldwyn Rodrigues</name>
<email>rgoldwyn@gmail.com</email>
</author>
<published>2011-02-17T15:44:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/commit/?id=b8b602b32fb7533406880478b3872d1e1c6911dc'/>
<id>urn:sha1:b8b602b32fb7533406880478b3872d1e1c6911dc</id>
<content type='text'>
commit 272b62c1f0f6f742046e45b50b6fec98860208a0 upstream.

When a hole spans across page boundaries, the next write forces
a read of the block. This could end up reading existing garbage
data from the disk in ocfs2_map_page_blocks. This leads to
non-zero holes. In order to avoid this, mark the writes as new
when the holes span across page boundaries.

Signed-off-by: Goldwyn Rodrigues &lt;rgoldwyn@suse.de&gt;
Signed-off-by: jlbec &lt;jlbec@evilplan.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>quota: Don't write quota info in dquot_commit()</title>
<updated>2011-04-14T20:02:22+00:00</updated>
<author>
<name>Jan Kara</name>
<email>jack@suse.cz</email>
</author>
<published>2011-03-31T16:36:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/snowball/igloo-kernel.git/commit/?id=3f9346cf211cdb10f053d7cb9752f7fd6723e16b'/>
<id>urn:sha1:3f9346cf211cdb10f053d7cb9752f7fd6723e16b</id>
<content type='text'>
commit b03f24567ce7caf2420b8be4c6eb74c191d59a91 upstream.

There's no reason to write quota info in dquot_commit(). The writing is a
relict from the old days when we didn't have dquot_acquire() and
dquot_release() and thus dquot_commit() could have created / removed quota
structures from the file. These days dquot_commit() only updates usage counters
/ limits in quota structure and thus there's no need to write quota info.

This also fixes an issue with journaling filesystem which didn't reserve
enough space in the transaction for write of quota info (it could have been
dirty at the time of dquot_commit() because of a race with other operation
changing it).

Reported-and-tested-by: Lukas Czerner &lt;lczerner@redhat.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

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