<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/9p, branch linux-4.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.1.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.1.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-12-08T23:01:08Z</updated>
<entry>
<title>net/9p: Switch to wait_event_killable()</title>
<updated>2017-12-08T23:01:08Z</updated>
<author>
<name>Tuomas Tynkkynen</name>
</author>
<published>2017-09-06T14:59:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=63424f2032a2bb2be99be66c279c8148afba1ea3'/>
<id>urn:sha1:63424f2032a2bb2be99be66c279c8148afba1ea3</id>
<content type='text'>
[ Upstream commit 9523feac272ccad2ad8186ba4fcc89103754de52 ]

Because userspace gets Very Unhappy when calls like stat() and execve()
return -EINTR on 9p filesystem mounts. For instance, when bash is
looking in PATH for things to execute and some SIGCHLD interrupts
stat(), bash can throw a spurious 'command not found' since it doesn't
retry the stat().

In practice, hitting the problem is rare and needs a really
slow/bogged down 9p server.

Cc: stable@vger.kernel.org
Signed-off-by: Tuomas Tynkkynen &lt;tuomas@tuxera.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
</content>
</entry>
<entry>
<title>p9_client_readdir() fix</title>
<updated>2017-05-17T19:08:23Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2017-04-14T21:22:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b291f2ed870ad97ecf945f90d6de68ca5827c883'/>
<id>urn:sha1:b291f2ed870ad97ecf945f90d6de68ca5827c883</id>
<content type='text'>
[ Upstream commit 71d6ad08379304128e4bdfaf0b4185d54375423e ]

Don't assume that server is sane and won't return more data than
asked for.

Cc: stable@vger.kernel.org
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
</content>
</entry>
<entry>
<title>9p: ensure err is initialized to 0 in p9_client_read/write</title>
<updated>2015-09-13T16:07:50Z</updated>
<author>
<name>Vincent Bernat</name>
</author>
<published>2015-08-15T13:49:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e18d264c4e706faf0dcb25abb3ebaa82ff4e8210'/>
<id>urn:sha1:e18d264c4e706faf0dcb25abb3ebaa82ff4e8210</id>
<content type='text'>
commit 999b8b88c6060adf7a9b7907740ae86ace65291e upstream.

Some use of those functions were providing unitialized values to those
functions. Notably, when reading 0 bytes from an empty file on a 9P
filesystem, the return code of read() was not 0.

Tested with this simple program:

    #include &lt;assert.h&gt;
    #include &lt;sys/types.h&gt;
    #include &lt;sys/stat.h&gt;
    #include &lt;fcntl.h&gt;
    #include &lt;unistd.h&gt;

    int main(int argc, const char **argv)
    {
        assert(argc == 2);
        char buffer[256];
        int fd = open(argv[1], O_RDONLY|O_NOCTTY);
        assert(fd &gt;= 0);
        assert(read(fd, buffer, 0) == 0);
        return 0;
    }

Signed-off-by: Vincent Bernat &lt;vincent@bernat.im&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>p9_client_write(): avoid double p9_free_req()</title>
<updated>2015-08-03T16:29:18Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2015-07-04T20:11:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=409e901e4d22f51cbe19a9ec1f943fbbdcc35853'/>
<id>urn:sha1:409e901e4d22f51cbe19a9ec1f943fbbdcc35853</id>
<content type='text'>
commit 67e808fbb0404a12d9b9830a44bbb48d447d8bc9 upstream.

Braino in "9p: switch p9_client_write() to passing it struct iov_iter *";
if response is impossible to parse and we discard the request, get the
out of the loop right there.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>9p: forgetting to cancel request on interrupted zero-copy RPC</title>
<updated>2015-08-03T16:29:18Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2015-07-04T20:04:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9974db06b353ada77b1c11c13a34ffd00227235a'/>
<id>urn:sha1:9974db06b353ada77b1c11c13a34ffd00227235a</id>
<content type='text'>
commit a84b69cb6e0a41e86bc593904faa6def3b957343 upstream.

If we'd already sent a request and decide to abort it, we *must*
issue TFLUSH properly and not just blindly reuse the tag, or
we'll get seriously screwed when response eventually arrives
and we confuse it for response to later request that had reused
the same tag.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge tag 'for-linus-4.1-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs</title>
<updated>2015-04-18T21:45:30Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2015-04-18T21:45:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dba94f2155f581395ef9608418778e3491b3d470'/>
<id>urn:sha1:dba94f2155f581395ef9608418778e3491b3d470</id>
<content type='text'>
Pull 9pfs updates from Eric Van Hensbergen:
 "Some accumulated cleanup patches for kerneldoc and unused variables as
  well as some lock bug fixes and adding privateport option for RDMA"

* tag 'for-linus-4.1-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
  net/9p: add a privport option for RDMA transport.
  fs/9p: Initialize status in v9fs_file_do_lock.
  net/9p: Initialize opts-&gt;privport as it should be.
  net/9p: use memcpy() instead of snprintf() in p9_mount_tag_show()
  9p: use unsigned integers for nwqid/count
  9p: do not crash on unknown lock status code
  9p: fix error handling in v9fs_file_do_lock
  9p: remove unused variable in p9_fd_create()
  9p: kerneldoc warning fixes
</content>
</entry>
<entry>
<title>net/9p: remove (now-)unused helpers</title>
<updated>2015-04-12T02:28:29Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2015-04-03T03:11:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dcdbd7b269003bec7d729ca3fd143f93cf98f56e'/>
<id>urn:sha1:dcdbd7b269003bec7d729ca3fd143f93cf98f56e</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>p9_client_attach(): set fid-&gt;uid correctly</title>
<updated>2015-04-12T02:28:28Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2015-04-03T01:47:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=21c9f5ccb103868c730aec6f8548e144ec397fed'/>
<id>urn:sha1:21c9f5ccb103868c730aec6f8548e144ec397fed</id>
<content type='text'>
it's almost always equal to current_fsuid(), but there's an exception -
if the first writeback fid is opened by non-root *and* that happens before
root has done any lookups in /, we end up doing attach for root.  The
current code leaves the resulting FID owned by root from the server POV
and by non-root from the client one.  Unfortunately, it means that e.g.
massive dcache eviction will leave that user buggered - they'll end
up redoing walks from / *and* picking that FID every time.  As soon as
they try to create something, the things will get nasty.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>9p: switch p9_client_read() to passing struct iov_iter *</title>
<updated>2015-04-12T02:28:27Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2015-04-02T03:42:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e1200fe68f20759f359698f8a8dc81d06d1265f5'/>
<id>urn:sha1:e1200fe68f20759f359698f8a8dc81d06d1265f5</id>
<content type='text'>
... and make it loop

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>9p: switch p9_client_write() to passing it struct iov_iter *</title>
<updated>2015-04-12T02:28:25Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2015-04-02T00:17:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=070b3656cf228eaaef7b28b59264c5c7cdbdd0fb'/>
<id>urn:sha1:070b3656cf228eaaef7b28b59264c5c7cdbdd0fb</id>
<content type='text'>
... and make it loop until it's done

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