<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/stat.c, branch v3.0.36</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs/stat.c?h=v3.0.36</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs/stat.c?h=v3.0.36'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-11-11T17:36:19Z</updated>
<entry>
<title>readlinkat: ensure we return ENOENT for the empty pathname for normal lookups</title>
<updated>2011-11-11T17:36:19Z</updated>
<author>
<name>Andy Whitcroft</name>
<email>apw@canonical.com</email>
</author>
<published>2011-11-02T08:44:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b0917c31699319f0b0ce0747e26bd66e8ed83491'/>
<id>urn:sha1:b0917c31699319f0b0ce0747e26bd66e8ed83491</id>
<content type='text'>
commit 1fa1e7f615f4d3ae436fa319af6e4eebdd4026a8 upstream.

Since the commit below which added O_PATH support to the *at() calls, the
error return for readlink/readlinkat for the empty pathname has switched
from ENOENT to EINVAL:

  commit 65cfc6722361570bfe255698d9cd4dccaf47570d
  Author: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
  Date:   Sun Mar 13 15:56:26 2011 -0400

    readlinkat(), fchownat() and fstatat() with empty relative pathnames

This is both unexpected for userspace and makes readlink/readlinkat
inconsistant with all other interfaces; and inconsistant with our stated
return for these pathnames.

As the readlinkat call does not have a flags parameter we cannot use the
AT_EMPTY_PATH approach used in the other calls.  Therefore expose whether
the original path is infact entry via a new user_path_at_empty() path
lookup function.  Use this to determine whether to default to EINVAL or
ENOENT for failures.

Addresses http://bugs.launchpad.net/bugs/817187

[akpm@linux-foundation.org: remove unused getname_flags()]
Signed-off-by: Andy Whitcroft &lt;apw@canonical.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>readlinkat(), fchownat() and fstatat() with empty relative pathnames</title>
<updated>2011-03-15T06:21:45Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2011-03-13T19:56:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=65cfc6722361570bfe255698d9cd4dccaf47570d'/>
<id>urn:sha1:65cfc6722361570bfe255698d9cd4dccaf47570d</id>
<content type='text'>
For readlinkat() we simply allow empty pathname; it will fail unless
we have dfd equal to O_PATH-opened symlink, so we are outside of
POSIX scope here.  For fchownat() and fstatat() we allow AT_EMPTY_PATH;
let the caller explicitly ask for such behaviour.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Add an AT_NO_AUTOMOUNT flag to suppress terminal automount</title>
<updated>2011-01-16T01:07:33Z</updated>
<author>
<name>David Howells</name>
<email>dhowells@redhat.com</email>
</author>
<published>2011-01-14T18:45:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6f45b65672c8017d5e210e338bb5858a938ef445'/>
<id>urn:sha1:6f45b65672c8017d5e210e338bb5858a938ef445</id>
<content type='text'>
Add an AT_NO_AUTOMOUNT flag to suppress terminal automounting of automount
point directories.  This can be used by fstatat() users to permit the
gathering of attributes on an automount point and also prevent
mass-automounting of a directory of automount points by ls.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: Ian Kent &lt;raven@themaw.net&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Mark arguments to certain syscalls as being const</title>
<updated>2010-08-13T23:53:13Z</updated>
<author>
<name>David Howells</name>
<email>dhowells@redhat.com</email>
</author>
<published>2010-08-11T10:26:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c7887325230aec47d47a32562a6e26014a0fafca'/>
<id>urn:sha1:c7887325230aec47d47a32562a6e26014a0fafca</id>
<content type='text'>
Mark arguments to certain system calls as being const where they should be but
aren't.  The list includes:

 (*) The filename arguments of various stat syscalls, execve(), various utimes
     syscalls and some mount syscalls.

 (*) The filename arguments of some syscall helpers relating to the above.

 (*) The buffer argument of various write syscalls.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Add unlocked version of inode_add_bytes() function</title>
<updated>2009-12-23T12:33:54Z</updated>
<author>
<name>Dmitry Monakhov</name>
<email>dmonakhov@openvz.org</email>
</author>
<published>2009-12-14T12:21:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b462707e7ccad058ae151e5c5b06eb5cadcb737f'/>
<id>urn:sha1:b462707e7ccad058ae151e5c5b06eb5cadcb737f</id>
<content type='text'>
Quota code requires unlocked version of this function. Off course
we can just copy-paste the code, but copy-pasting is always an evil.

Signed-off-by: Dmitry Monakhov &lt;dmonakhov@openvz.org&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>kill vfs_stat_fd / vfs_lstat_fd</title>
<updated>2009-04-21T03:02:52Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2009-04-08T20:34:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2eae7a1874ca5be3232765d89e0250a449f1bc90'/>
<id>urn:sha1:2eae7a1874ca5be3232765d89e0250a449f1bc90</id>
<content type='text'>
There's really no reason to keep vfs_stat_fd and vfs_lstat_fd with
Oleg's vfs_fstatat.  Use vfs_fstatat for the few cases having the
directory fd, and switch all others to vfs_stat / vfs_lstat.

Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Separate out common fstatat code into vfs_fstatat</title>
<updated>2009-04-21T03:02:51Z</updated>
<author>
<name>Oleg Drokin</name>
<email>green@linuxhacker.ru</email>
</author>
<published>2009-04-08T16:05:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0112fc2229847feb6c4eb011e6833d8f1742a375'/>
<id>urn:sha1:0112fc2229847feb6c4eb011e6833d8f1742a375</id>
<content type='text'>
This is a version incorporating Christoph's suggestion.

Separate out common *fstatat functionality into a single function
instead of duplicating it all over the code.

Signed-off-by: Oleg Drokin &lt;green@linuxhacker.ru&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[CVE-2009-0029] System call wrappers part 30</title>
<updated>2009-01-14T13:15:30Z</updated>
<author>
<name>Heiko Carstens</name>
<email>heiko.carstens@de.ibm.com</email>
</author>
<published>2009-01-14T13:14:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6559eed8ca7db0531a207cd80be5e28cd6f213c5'/>
<id>urn:sha1:6559eed8ca7db0531a207cd80be5e28cd6f213c5</id>
<content type='text'>
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[CVE-2009-0029] System call wrappers part 16</title>
<updated>2009-01-14T13:15:25Z</updated>
<author>
<name>Heiko Carstens</name>
<email>heiko.carstens@de.ibm.com</email>
</author>
<published>2009-01-14T13:14:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=002c8976ee537724b20a5e179d9b349309438836'/>
<id>urn:sha1:002c8976ee537724b20a5e179d9b349309438836</id>
<content type='text'>
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[CVE-2009-0029] System call wrappers part 11</title>
<updated>2009-01-14T13:15:23Z</updated>
<author>
<name>Heiko Carstens</name>
<email>heiko.carstens@de.ibm.com</email>
</author>
<published>2009-01-14T13:14:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=257ac264d69017270fbc3cf5536953525db4076c'/>
<id>urn:sha1:257ac264d69017270fbc3cf5536953525db4076c</id>
<content type='text'>
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
</content>
</entry>
</feed>
