<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/fdtable.h, branch v3.9</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.9</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.9'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2012-11-29T02:49:02Z</updated>
<entry>
<title>kill daemonize()</title>
<updated>2012-11-29T02:49:02Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-10-02T20:34:38Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c4144670fd9b34d6eae22c9f83751745898e8243'/>
<id>urn:sha1:c4144670fd9b34d6eae22c9f83751745898e8243</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>new helper: daemonize_descriptors()</title>
<updated>2012-09-27T01:10:00Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-08-22T22:42:10Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=864bdb3b6cbd9911222543fef1cfe36f88183f44'/>
<id>urn:sha1:864bdb3b6cbd9911222543fef1cfe36f88183f44</id>
<content type='text'>
descriptor-related parts of daemonize, done right.  As the
result we simplify the locking rules for -&gt;files - we
hold task_lock in *all* cases when we modify -&gt;files.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>new helper: iterate_fd()</title>
<updated>2012-09-27T01:09:59Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-08-22T02:32:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c3c073f808b22dfae15ef8412b6f7b998644139a'/>
<id>urn:sha1:c3c073f808b22dfae15ef8412b6f7b998644139a</id>
<content type='text'>
iterates through the opened files in given descriptor table,
calling a supplied function; we stop once non-zero is returned.
Callback gets struct file *, descriptor number and const void *
argument passed to iterator.  It is called with files-&gt;file_lock
held, so it is not allowed to block.

tty_io, netprio_cgroup and selinux flush_unauthorized_files()
converted to its use.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>make expand_files() and alloc_fd() static</title>
<updated>2012-09-27T01:09:58Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-08-22T00:11:34Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=ad47bd7252bf402fe7dba92f5240b5ed16832ae7'/>
<id>urn:sha1:ad47bd7252bf402fe7dba92f5240b5ed16832ae7</id>
<content type='text'>
no callers outside of fs/file.c left

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>take __{set,clear}_{open_fd,close_on_exec}() into fs/file.c</title>
<updated>2012-09-27T01:09:58Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-08-22T00:09:42Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b8318b01a8f7f760ae3ecae052ccc7fc123d9508'/>
<id>urn:sha1:b8318b01a8f7f760ae3ecae052ccc7fc123d9508</id>
<content type='text'>
nobody uses those outside anymore.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>take close-on-exec logics to fs/file.c, clean it up a bit</title>
<updated>2012-09-27T01:09:56Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-08-21T13:56:33Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6a6d27de340c89c5323565b49f7851362619925d'/>
<id>urn:sha1:6a6d27de340c89c5323565b49f7851362619925d</id>
<content type='text'>
... and add cond_resched() there, while we are at it.  We can
get large latencies as is...

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>take descriptor-related part of close() to file.c</title>
<updated>2012-09-27T01:08:56Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-08-19T16:04:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=483ce1d4b8c3b82bc9c9a1dd9dbc44f50b3aaf5a'/>
<id>urn:sha1:483ce1d4b8c3b82bc9c9a1dd9dbc44f50b3aaf5a</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>expose a low-level variant of fd_install() for binder</title>
<updated>2012-09-27T01:08:55Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-08-16T01:06:33Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f869e8a7f753e3fd43d6483e796774776f645edb'/>
<id>urn:sha1:f869e8a7f753e3fd43d6483e796774776f645edb</id>
<content type='text'>
Similar situation to that of __alloc_fd(); do not use unless you
really have to.  You should not touch any descriptor table other
than your own; it's a sure sign of a really bad API design.

As with __alloc_fd(), you *must* use a first-class reference to
struct files_struct; something obtained by get_files_struct(some task)
(let alone direct task-&gt;files) will not do.  It must be either
current-&gt;files, or obtained by get_files_struct(current) by the
owner of that sucker and given to you.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>move files_struct-related bits from kernel/exit.c to fs/file.c</title>
<updated>2012-09-27T01:08:54Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-08-15T23:56:12Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=7cf4dc3c8dbfdfde163d4636f621cf99a1f63bfb'/>
<id>urn:sha1:7cf4dc3c8dbfdfde163d4636f621cf99a1f63bfb</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>new helper: __alloc_fd()</title>
<updated>2012-09-27T01:08:53Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-08-12T21:27:30Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=dcfadfa4ec5a12404a99ad6426871a6b03a62b37'/>
<id>urn:sha1:dcfadfa4ec5a12404a99ad6426871a6b03a62b37</id>
<content type='text'>
Essentially, alloc_fd() in a files_struct we own a reference to.
Most of the time wanting to use it is a sign of lousy API
design (such as android/binder).  It's *not* a general-purpose
interface; better that than open-coding its guts, but again,
playing with other process' descriptor table is a sign of bad
design.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
</feed>
