<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/sunrpc, branch v3.9-rc4</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net/sunrpc?h=v3.9-rc4</id>
<link rel='self' href='https://git.amat.us/linux/atom/net/sunrpc?h=v3.9-rc4'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-03-13T22:47:50Z</updated>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace</title>
<updated>2013-03-13T22:47:50Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-03-13T22:47:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aea8b5d1e5c5482e7cdda849dc16d728f7080289'/>
<id>urn:sha1:aea8b5d1e5c5482e7cdda849dc16d728f7080289</id>
<content type='text'>
Pull namespace bugfixes from Eric Biederman:
 "This tree includes a partial revert for "fs: Limit sys_mount to only
  request filesystem modules." When I added the new style module aliases
  to the filesystems I deleted the old ones.  A bad move.  It turns out
  that distributions like Arch linux use module aliases when
  constructing ramdisks.  Which meant ultimately that an ext3 filesystem
  mounted with ext4 would not result in the ext4 module being put into
  the ramdisk.

  The other change in this tree adds a handful of filesystem module
  alias I simply failed to add the first time.  Which inconvinienced a
  few folks using cifs.

  I don't want to inconvinience folks any longer than I have to so here
  are these trivial fixes."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
  fs: Readd the fs module aliases.
  fs: Limit sys_mount to only request filesystem modules. (Part 3)
</content>
</entry>
<entry>
<title>fs: Readd the fs module aliases.</title>
<updated>2013-03-13T01:55:21Z</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2013-03-13T01:27:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fa7614ddd6c2368b8cd54cc67ab4b767af0a2a50'/>
<id>urn:sha1:fa7614ddd6c2368b8cd54cc67ab4b767af0a2a50</id>
<content type='text'>
I had assumed that the only use of module aliases for filesystems
prior to "fs: Limit sys_mount to only request filesystem modules."
was in request_module.  It turns out I was wrong.  At least mkinitcpio
in Arch linux uses these aliases.

So readd the preexising aliases, to keep from breaking userspace.

Userspace eventually will have to follow and use the same aliases the
kernel does.  So at some point we may be delete these aliases without
problems.  However that day is not today.

Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-3.9' of git://linux-nfs.org/~bfields/linux</title>
<updated>2013-03-12T16:20:58Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-03-12T16:20:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5b22b1848b7b5c28af8c7e916bbef08d4292a509'/>
<id>urn:sha1:5b22b1848b7b5c28af8c7e916bbef08d4292a509</id>
<content type='text'>
Pull nfsd bugfixes from Bruce Fields:
 "Some minor fallout from the user-namespace work broke most krb5 mounts
  to nfsd, and I screwed up a change to the AF_LOCAL rpc code."

* 'for-3.9' of git://linux-nfs.org/~bfields/linux:
  sunrpc: don't attempt to cancel unitialized work
  nfsd: fix krb5 handling of anonymous principals
</content>
</entry>
<entry>
<title>sunrpc: don't attempt to cancel unitialized work</title>
<updated>2013-03-09T17:43:42Z</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@redhat.com</email>
</author>
<published>2013-03-08T18:13:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=190b1ecf257be308f0053c371fa7afa1ba5f4932'/>
<id>urn:sha1:190b1ecf257be308f0053c371fa7afa1ba5f4932</id>
<content type='text'>
As of dc107402ae06286a9ed33c32daf3f35514a7cb8d "SUNRPC: make AF_LOCAL connect synchronous", we no longer initialize connect_worker in the
AF_LOCAL case, resulting in warnings like:

    WARNING: at lib/debugobjects.c:261 debug_print_object+0x8c/0xb0() Hardware name: Bochs
    ODEBUG: assert_init not available (active state 0) object type: timer_list hint: stub_timer+0x0/0x20
    Modules linked in: iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi nfsd auth_rpcgss nfs_acl lockd sunrpc
    Pid: 4816, comm: nfsd Tainted: G        W    3.8.0-rc2-00049-gdc10740 #801
    Call Trace:
     [&lt;ffffffff8156ec00&gt;] ? free_obj_work+0x60/0xa0
     [&lt;ffffffff81046aaf&gt;] warn_slowpath_common+0x7f/0xc0
     [&lt;ffffffff81046ba6&gt;] warn_slowpath_fmt+0x46/0x50
     [&lt;ffffffff8156eccc&gt;] debug_print_object+0x8c/0xb0
     [&lt;ffffffff81055030&gt;] ? timer_debug_hint+0x10/0x10
     [&lt;ffffffff8156f7e3&gt;] debug_object_assert_init+0xe3/0x120
     [&lt;ffffffff81057ebb&gt;] del_timer+0x2b/0x80
     [&lt;ffffffff8109c4e6&gt;] ? mark_held_locks+0x86/0x110
     [&lt;ffffffff81065a29&gt;] try_to_grab_pending+0xd9/0x150
     [&lt;ffffffff81065b57&gt;] __cancel_work_timer+0x27/0xc0
     [&lt;ffffffff81065c03&gt;] cancel_delayed_work_sync+0x13/0x20
     [&lt;ffffffffa0007067&gt;] xs_destroy+0x27/0x80 [sunrpc]
     [&lt;ffffffffa00040d8&gt;] xprt_destroy+0x78/0xa0 [sunrpc]
     [&lt;ffffffffa0006241&gt;] xprt_put+0x21/0x30 [sunrpc]
     [&lt;ffffffffa00030cf&gt;] rpc_free_client+0x10f/0x1a0 [sunrpc]
     [&lt;ffffffffa0002ff3&gt;] ? rpc_free_client+0x33/0x1a0 [sunrpc]
     [&lt;ffffffffa0002f7e&gt;] rpc_release_client+0x6e/0xb0 [sunrpc]
     [&lt;ffffffffa000325d&gt;] rpc_shutdown_client+0xfd/0x1b0 [sunrpc]
     [&lt;ffffffffa0017196&gt;] rpcb_put_local+0x106/0x130 [sunrpc]
    ...

Acked-by: "Myklebust, Trond" &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>nfsd: fix krb5 handling of anonymous principals</title>
<updated>2013-03-06T15:11:08Z</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@redhat.com</email>
</author>
<published>2013-03-04T13:44:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3c34ae11fac3b30629581d0bfaf80f58e82cfbfb'/>
<id>urn:sha1:3c34ae11fac3b30629581d0bfaf80f58e82cfbfb</id>
<content type='text'>
krb5 mounts started failing as of
683428fae8c73d7d7da0fa2e0b6beb4d8df4e808 "sunrpc: Update svcgss xdr
handle to rpsec_contect cache".

The problem is that mounts are usually done with some host principal
which isn't normally mapped to any user, in which case svcgssd passes
down uid -1, which the kernel is then expected to map to the
export-specific anonymous uid or gid.

The new uid_valid/gid_valid checks were therefore causing that downcall
to fail.

(Note the regression may not have been seen with older userspace that
tended to map unknown principals to an anonymous id on their own rather
than leaving it to the kernel.)

Reviewed-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>fs: Limit sys_mount to only request filesystem modules.</title>
<updated>2013-03-04T03:36:31Z</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2013-03-03T03:39:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7f78e0351394052e1a6293e175825eb5c7869507'/>
<id>urn:sha1:7f78e0351394052e1a6293e175825eb5c7869507</id>
<content type='text'>
Modify the request_module to prefix the file system type with "fs-"
and add aliases to all of the filesystems that can be built as modules
to match.

A common practice is to build all of the kernel code and leave code
that is not commonly needed as modules, with the result that many
users are exposed to any bug anywhere in the kernel.

Looking for filesystems with a fs- prefix limits the pool of possible
modules that can be loaded by mount to just filesystems trivially
making things safer with no real cost.

Using aliases means user space can control the policy of which
filesystem modules are auto-loaded by editing /etc/modprobe.d/*.conf
with blacklist and alias directives.  Allowing simple, safe,
well understood work-arounds to known problematic software.

This also addresses a rare but unfortunate problem where the filesystem
name is not the same as it's module name and module auto-loading
would not work.  While writing this patch I saw a handful of such
cases.  The most significant being autofs that lives in the module
autofs4.

This is relevant to user namespaces because we can reach the request
module in get_fs_type() without having any special permissions, and
people get uncomfortable when a user specified string (in this case
the filesystem type) goes all of the way to request_module.

After having looked at this issue I don't think there is any
particular reason to perform any filtering or permission checks beyond
making it clear in the module request that we want a filesystem
module.  The common pattern in the kernel is to call request_module()
without regards to the users permissions.  In general all a filesystem
module does once loaded is call register_filesystem() and go to sleep.
Which means there is not much attack surface exposed by loading a
filesytem module unless the filesystem is mounted.  In a user
namespace filesystems are not mounted unless .fs_flags = FS_USERNS_MOUNT,
which most filesystems do not set today.

Acked-by: Serge Hallyn &lt;serge.hallyn@canonical.com&gt;
Acked-by: Kees Cook &lt;keescook@chromium.org&gt;
Reported-by: Kees Cook &lt;keescook@google.com&gt;
Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'nfs-for-3.9-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs</title>
<updated>2013-03-03T00:46:07Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-03-03T00:46:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8d05b3771da8775799673212b57d62f57c70d68a'/>
<id>urn:sha1:8d05b3771da8775799673212b57d62f57c70d68a</id>
<content type='text'>
Pull NFS client bugfixes from Trond Myklebust:
 "We've just concluded another Connectathon interoperability testing
  week, and so here are the fixes for the bugs that were discovered:

   - Don't allow NFS silly-renamed files to be deleted
   - Don't start the retransmission timer when out of socket space
   - Fix a couple of pnfs-related Oopses.
   - Fix one more NFSv4 state recovery deadlock
   - Don't loop forever when LAYOUTGET returns NFS4ERR_LAYOUTTRYLATER"

* tag 'nfs-for-3.9-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
  SUNRPC: One line comment fix
  NFSv4.1: LAYOUTGET EDELAY loops timeout to the MDS
  SUNRPC: add call to get configured timeout
  PNFS: set the default DS timeout to 60 seconds
  NFSv4: Fix another open/open_recovery deadlock
  nfs: don't allow nfs_find_actor to match inodes of the wrong type
  NFSv4.1: Hold reference to layout hdr in layoutget
  pnfs: fix resend_to_mds for directio
  SUNRPC: Don't start the retransmission timer when out of socket space
  NFS: Don't allow NFS silly-renamed files to be deleted, no signal
</content>
</entry>
<entry>
<title>SUNRPC: One line comment fix</title>
<updated>2013-03-02T23:54:11Z</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2013-03-02T23:54:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=512e4b291c0e97af24619a91f3e8963697da00d8'/>
<id>urn:sha1:512e4b291c0e97af24619a91f3e8963697da00d8</id>
<content type='text'>
Reported-by: Weston Andros Adamson &lt;dros@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-3.9' of git://linux-nfs.org/~bfields/linux</title>
<updated>2013-03-01T02:02:55Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-03-01T02:02:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b6669737d3db7df79fad07180837c23dbe581db5'/>
<id>urn:sha1:b6669737d3db7df79fad07180837c23dbe581db5</id>
<content type='text'>
Pull nfsd changes from J Bruce Fields:
 "Miscellaneous bugfixes, plus:

   - An overhaul of the DRC cache by Jeff Layton.  The main effect is
     just to make it larger.  This decreases the chances of intermittent
     errors especially in the UDP case.  But we'll need to watch for any
     reports of performance regressions.

   - Containerized nfsd: with some limitations, we now support
     per-container nfs-service, thanks to extensive work from Stanislav
     Kinsbursky over the last year."

Some notes about conflicts, since there were *two* non-data semantic
conflicts here:

 - idr_remove_all() had been added by a memory leak fix, but has since
   become deprecated since idr_destroy() does it for us now.

 - xs_local_connect() had been added by this branch to make AF_LOCAL
   connections be synchronous, but in the meantime Trond had changed the
   calling convention in order to avoid a RCU dereference.

There were a couple of more obvious actual source-level conflicts due to
the hlist traversal changes and one just due to code changes next to
each other, but those were trivial.

* 'for-3.9' of git://linux-nfs.org/~bfields/linux: (49 commits)
  SUNRPC: make AF_LOCAL connect synchronous
  nfsd: fix compiler warning about ambiguous types in nfsd_cache_csum
  svcrpc: fix rpc server shutdown races
  svcrpc: make svc_age_temp_xprts enqueue under sv_lock
  lockd: nlmclnt_reclaim(): avoid stack overflow
  nfsd: enable NFSv4 state in containers
  nfsd: disable usermode helper client tracker in container
  nfsd: use proper net while reading "exports" file
  nfsd: containerize NFSd filesystem
  nfsd: fix comments on nfsd_cache_lookup
  SUNRPC: move cache_detail-&gt;cache_request callback call to cache_read()
  SUNRPC: remove "cache_request" argument in sunrpc_cache_pipe_upcall() function
  SUNRPC: rework cache upcall logic
  SUNRPC: introduce cache_detail-&gt;cache_request callback
  NFS: simplify and clean cache library
  NFS: use SUNRPC cache creation and destruction helper for DNS cache
  nfsd4: free_stid can be static
  nfsd: keep a checksum of the first 256 bytes of request
  sunrpc: trim off trailing checksum before returning decrypted or integrity authenticated buffer
  sunrpc: fix comment in struct xdr_buf definition
  ...
</content>
</entry>
<entry>
<title>SUNRPC: add call to get configured timeout</title>
<updated>2013-03-01T01:35:20Z</updated>
<author>
<name>Weston Andros Adamson</name>
<email>dros@netapp.com</email>
</author>
<published>2013-03-01T01:30:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=edddbb1eda61753c886a3c5e159293a7b3a9e30a'/>
<id>urn:sha1:edddbb1eda61753c886a3c5e159293a7b3a9e30a</id>
<content type='text'>
Returns the configured timeout for the xprt of the rpc client.

Signed-off-by: Weston Andros Adamson &lt;dros@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
</feed>
