<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs, branch v3.2.53</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs?h=v3.2.53</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs?h=v3.2.53'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-11-28T14:02:04Z</updated>
<entry>
<title>ecryptfs: Fix memory leakage in keystore.c</title>
<updated>2013-11-28T14:02:04Z</updated>
<author>
<name>Geyslan G. Bem</name>
<email>geyslan@gmail.com</email>
</author>
<published>2013-10-11T19:49:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=640c4ad6d759b60a64049ff46c9acff5954f18d6'/>
<id>urn:sha1:640c4ad6d759b60a64049ff46c9acff5954f18d6</id>
<content type='text'>
commit 3edc8376c06133e3386265a824869cad03a4efd4 upstream.

In 'decrypt_pki_encrypted_session_key' function:

Initializes 'payload' pointer and releases it on exit.

Signed-off-by: Geyslan G. Bem &lt;geyslan@gmail.com&gt;
Signed-off-by: Tyler Hicks &lt;tyhicks@canonical.com&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: allow O_PATH file descriptors for fstatfs()</title>
<updated>2013-11-28T14:02:03Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-09-30T15:35:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d84e903280832e9ae044eba776b017e3fb422c28'/>
<id>urn:sha1:d84e903280832e9ae044eba776b017e3fb422c28</id>
<content type='text'>
commit 9d05746e7b16d8565dddbe3200faa1e669d23bbf upstream.

Olga reported that file descriptors opened with O_PATH do not work with
fstatfs(), found during further development of ksh93's thread support.

There is no reason to not allow O_PATH file descriptors here (fstatfs is
very much a path operation), so use "fdget_raw()".  See commit
55815f70147d ("vfs: make O_PATH file descriptors usable for 'fstat()'")
for a very similar issue reported for fstat() by the same team.

Reported-and-tested-by: ольга крыжановская &lt;olga.kryzhanovska@gmail.com&gt;
Acked-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
[bwh: Backported to 3.2: use fget_raw() not fdget_raw()]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>ext4: fix memory leak in xattr</title>
<updated>2013-11-28T14:02:03Z</updated>
<author>
<name>Dave Jones</name>
<email>davej@redhat.com</email>
</author>
<published>2013-10-11T00:05:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=564d091beba05e7437c8fa1c31a1976f9e80479d'/>
<id>urn:sha1:564d091beba05e7437c8fa1c31a1976f9e80479d</id>
<content type='text'>
commit 6e4ea8e33b2057b85d75175dd89b93f5e26de3bc upstream.

If we take the 2nd retry path in ext4_expand_extra_isize_ea, we
potentionally return from the function without having freed these
allocations.  If we don't do the return, we over-write the previous
allocation pointers, so we leak either way.

Spotted with Coverity.

[ Fixed by tytso to set is and bs to NULL after freeing these
  pointers, in case in the retry loop we later end up triggering an
  error causing a jump to cleanup, at which point we could have a double
  free bug. -- Ted ]

Signed-off-by: Dave Jones &lt;davej@fedoraproject.org&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Reviewed-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>jfs: fix error path in ialloc</title>
<updated>2013-11-28T14:02:00Z</updated>
<author>
<name>Dave Kleikamp</name>
<email>dave.kleikamp@oracle.com</email>
</author>
<published>2013-09-07T02:49:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8ce33654079ba5d5b55523b7ac317099c609cd02'/>
<id>urn:sha1:8ce33654079ba5d5b55523b7ac317099c609cd02</id>
<content type='text'>
commit 8660998608cfa1077e560034db81885af8e1e885 upstream.

If insert_inode_locked() fails, we shouldn't be calling
unlock_new_inode().

Signed-off-by: Dave Kleikamp &lt;dave.kleikamp@oracle.com&gt;
Tested-by: Michael L. Semon &lt;mlsemon35@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>ext3: return 32/64-bit dir name hash according to usage type</title>
<updated>2013-11-28T14:01:59Z</updated>
<author>
<name>Eric Sandeen</name>
<email>sandeen@redhat.com</email>
</author>
<published>2012-04-26T18:10:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3b712f1354a50e043f37583d5f31e013245d7825'/>
<id>urn:sha1:3b712f1354a50e043f37583d5f31e013245d7825</id>
<content type='text'>
commit d7dab39b6e16d5eea78ed3c705d2a2d0772b4f06 upstream.

This is based on commit d1f5273e9adb40724a85272f248f210dc4ce919a
ext4: return 32/64-bit dir name hash according to usage type
by Fan Yong &lt;yong.fan@whamcloud.com&gt;

Traditionally ext2/3/4 has returned a 32-bit hash value from llseek()
to appease NFSv2, which can only handle a 32-bit cookie for seekdir()
and telldir().  However, this causes problems if there are 32-bit hash
collisions, since the NFSv2 server can get stuck resending the same
entries from the directory repeatedly.

Allow ext3 to return a full 64-bit hash (both major and minor) for
telldir to decrease the chance of hash collisions.

This patch does implement a new ext3_dir_llseek op, because with 64-bit
hashes, nfs will attempt to seek to a hash "offset" which is much
larger than ext3's s_maxbytes.  So for dx dirs, we call
generic_file_llseek_size() with the appropriate max hash value as the
maximum seekable size.  Otherwise we just pass through to
generic_file_llseek().

Patch-updated-by: Bernd Schubert &lt;bernd.schubert@itwm.fraunhofer.de&gt;
Patch-updated-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
(blame us if something is not correct)

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>nfsd: vfs_llseek() with 32 or 64 bit offsets (hashes)</title>
<updated>2013-11-28T14:01:59Z</updated>
<author>
<name>Bernd Schubert</name>
<email>bernd.schubert@itwm.fraunhofer.de</email>
</author>
<published>2012-03-19T02:44:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7ddeebd9bb1f005226b818f58cd6b2eaadf7976c'/>
<id>urn:sha1:7ddeebd9bb1f005226b818f58cd6b2eaadf7976c</id>
<content type='text'>
commit 06effdbb49af5f6c7d20affaec74603914acc768 upstream.

Use 32-bit or 64-bit llseek() hashes for directory offsets depending on
the NFS version. NFSv2 gets 32-bit hashes only.

NOTE: This patch got rather complex as Christoph asked to set the
filp-&gt;f_mode flag in the open call or immediatly after dentry_open()
in nfsd_open() to avoid races.
Personally I still do not see a reason for that and in my opinion
FMODE_32BITHASH/FMODE_64BITHASH flags could be set nfsd_readdir(), as it
follows directly after nfsd_open() without a chance of races.

Signed-off-by: Bernd Schubert &lt;bernd.schubert@itwm.fraunhofer.de&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Acked-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Signed-off-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>nfsd: rename 'int access' to 'int may_flags' in nfsd_open()</title>
<updated>2013-11-28T14:01:58Z</updated>
<author>
<name>Bernd Schubert</name>
<email>bernd.schubert@itwm.fraunhofer.de</email>
</author>
<published>2012-03-19T02:44:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d1ccc87a6bdf9397675c8b086cf633db0a17ee51'/>
<id>urn:sha1:d1ccc87a6bdf9397675c8b086cf633db0a17ee51</id>
<content type='text'>
commit 999448a8c0202d8c41711c92385323520644527b upstream.

Just rename this variable, as the next patch will add a flag and
'access' as variable name would not be correct any more.

Signed-off-by: Bernd Schubert &lt;bernd.schubert@itwm.fraunhofer.de&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Acked-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Signed-off-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>ext4: return 32/64-bit dir name hash according to usage type</title>
<updated>2013-11-28T14:01:58Z</updated>
<author>
<name>Fan Yong</name>
<email>yong.fan@whamcloud.com</email>
</author>
<published>2012-03-19T02:44:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=72b749f64fc5550e3fb0f3c72868011737ef235c'/>
<id>urn:sha1:72b749f64fc5550e3fb0f3c72868011737ef235c</id>
<content type='text'>
commit d1f5273e9adb40724a85272f248f210dc4ce919a upstream.

Traditionally ext2/3/4 has returned a 32-bit hash value from llseek()
to appease NFSv2, which can only handle a 32-bit cookie for seekdir()
and telldir().  However, this causes problems if there are 32-bit hash
collisions, since the NFSv2 server can get stuck resending the same
entries from the directory repeatedly.

Allow ext4 to return a full 64-bit hash (both major and minor) for
telldir to decrease the chance of hash collisions.  This still needs
integration on the NFS side.

Patch-updated-by: Bernd Schubert &lt;bernd.schubert@itwm.fraunhofer.de&gt;
(blame me if something is not correct)

Signed-off-by: Fan Yong &lt;yong.fan@whamcloud.com&gt;
Signed-off-by: Andreas Dilger &lt;adilger@whamcloud.com&gt;
Signed-off-by: Bernd Schubert &lt;bernd.schubert@itwm.fraunhofer.de&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Signed-off-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>ext4: avoid hang when mounting non-journal filesystems with orphan list</title>
<updated>2013-10-26T20:06:13Z</updated>
<author>
<name>Theodore Ts'o</name>
<email>tytso@mit.edu</email>
</author>
<published>2012-12-27T06:42:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0cf9986114ab4e16bf36a51814a0f688c79961a7'/>
<id>urn:sha1:0cf9986114ab4e16bf36a51814a0f688c79961a7</id>
<content type='text'>
commit 0e9a9a1ad619e7e987815d20262d36a2f95717ca upstream.

When trying to mount a file system which does not contain a journal,
but which does have a orphan list containing an inode which needs to
be truncated, the mount call with hang forever in
ext4_orphan_cleanup() because ext4_orphan_del() will return
immediately without removing the inode from the orphan list, leading
to an uninterruptible loop in kernel code which will busy out one of
the CPU's on the system.

This can be trivially reproduced by trying to mount the file system
found in tests/f_orphan_extents_inode/image.gz from the e2fsprogs
source tree.  If a malicious user were to put this on a USB stick, and
mount it on a Linux desktop which has automatic mounts enabled, this
could be considered a potential denial of service attack.  (Not a big
deal in practice, but professional paranoids worry about such things,
and have even been known to allocate CVE numbers for such problems.)

-js: This is a fix for CVE-2013-2015.

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Reviewed-by: Zheng Liu &lt;wenqing.lz@taobao.com&gt;
Acked-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>isofs: Refuse RW mount of the filesystem instead of making it RO</title>
<updated>2013-10-26T20:06:12Z</updated>
<author>
<name>Jan Kara</name>
<email>jack@suse.cz</email>
</author>
<published>2013-07-25T09:49:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b1455ca9e8c44171e550980c82295162e7e31646'/>
<id>urn:sha1:b1455ca9e8c44171e550980c82295162e7e31646</id>
<content type='text'>
commit 17b7f7cf58926844e1dd40f5eb5348d481deca6a upstream.

Refuse RW mount of isofs filesystem. So far we just silently changed it
to RO mount but when the media is writeable, block layer won't notice
this change and thus will think device is used RW and will block eject
button of the drive. That is unexpected by users because for
non-writeable media eject button works just fine.

Userspace mount(8) command handles this just fine and retries mounting
with MS_RDONLY set so userspace shouldn't see any regression.  Plus any
tool mounting isofs is likely confronted with the case of read-only
media where block layer already refuses to mount the filesystem without
MS_RDONLY set so our behavior shouldn't be anything new for it.

Reported-by: Hui Wang &lt;hui.wang@canonical.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
</feed>
