<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/client.c, branch linux-3.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-02-10T03:55:51Z</updated>
<entry>
<title>NFS: Remove the "NFS_CAP_CHANGE_ATTR" capability</title>
<updated>2016-02-10T03:55:51Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2015-07-05T15:12:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=74f65457613c5c399de932288bd755aed011c420'/>
<id>urn:sha1:74f65457613c5c399de932288bd755aed011c420</id>
<content type='text'>
[ Upstream commit cd812599796f500b042f5464b6665755eca21137 ]

Setting the change attribute has been mandatory for all NFS versions, since
commit 3a1556e8662c ("NFSv2/v3: Simulate the change attribute"). We should
therefore not have anything be conditional on it being set/unset.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'bugfixes' into linux-next</title>
<updated>2014-09-30T21:21:41Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2014-09-30T21:21:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72c23f0819977d37924af92a42a9b7fbfd1c95d8'/>
<id>urn:sha1:72c23f0819977d37924af92a42a9b7fbfd1c95d8</id>
<content type='text'>
* bugfixes:
  NFSv4.1: Fix an NFSv4.1 state renewal regression
  NFSv4: fix open/lock state recovery error handling
  NFSv4: Fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails
  NFS: Fabricate fscache server index key correctly
  SUNRPC: Add missing support for RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT
  nfs: fix duplicate proc entries
</content>
</entry>
<entry>
<title>nfs: fix duplicate proc entries</title>
<updated>2014-09-25T03:00:18Z</updated>
<author>
<name>Fabian Frederick</name>
</author>
<published>2014-09-24T16:56:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2f3169fb18f4643ac9a6a097a6a6c71f0b2cef75'/>
<id>urn:sha1:2f3169fb18f4643ac9a6a097a6a6c71f0b2cef75</id>
<content type='text'>
Commit 65b38851a174
("NFS: Fix /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes")

updated the following function:
static int nfs_volume_list_open(struct inode *inode, struct file *file)

it used &amp;nfs_server_list_ops instead of &amp;nfs_volume_list_ops
which means cat /proc/fs/nfsfs/volumes = /proc/fs/nfsfs/servers

Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt;
Fixes: 65b38851a174 (NFS: Fix /proc/fs/nfsfs/servers and...)
Cc: stable@vger.kernel.org # 3.4.x+
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs: add __acquires and __releases annotations to seqfile start/stop routines</title>
<updated>2014-09-10T19:47:04Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2014-09-10T13:04:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8d11620e1e43f829721aa1e76bd9dc2da079df9e'/>
<id>urn:sha1:8d11620e1e43f829721aa1e76bd9dc2da079df9e</id>
<content type='text'>
To make sparse happy...

Signed-off-by: Jeff Layton &lt;jlayton@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs: fix kernel warning when removing proc entry</title>
<updated>2014-09-08T23:41:36Z</updated>
<author>
<name>Cong Wang</name>
</author>
<published>2014-09-08T23:17:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=21e81002f9788a3af591416b6dec60d7b67f2fb2'/>
<id>urn:sha1:21e81002f9788a3af591416b6dec60d7b67f2fb2</id>
<content type='text'>
I saw the following kernel warning:

[ 1852.321222] ------------[ cut here ]------------
[ 1852.326527] WARNING: CPU: 0 PID: 118 at fs/proc/generic.c:521 remove_proc_entry+0x154/0x16b()
[ 1852.335630] remove_proc_entry: removing non-empty directory 'fs/nfsfs', leaking at least 'volumes'
[ 1852.344084] CPU: 0 PID: 118 Comm: kworker/u8:2 Not tainted 3.16.0+ #540
[ 1852.350036] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 1852.354992] Workqueue: netns cleanup_net
[ 1852.358701]  0000000000000000 ffff880116f2fbd0 ffffffff819c03e9 ffff880116f2fc18
[ 1852.366474]  ffff880116f2fc08 ffffffff810744ee ffffffff811e0e6e ffff8800d4e96238
[ 1852.373507]  ffffffff81dbe665 ffff8800d46a5948 0000000000000005 ffff880116f2fc68
[ 1852.380224] Call Trace:
[ 1852.381976]  [&lt;ffffffff819c03e9&gt;] dump_stack+0x4d/0x66
[ 1852.385495]  [&lt;ffffffff810744ee&gt;] warn_slowpath_common+0x7a/0x93
[ 1852.389869]  [&lt;ffffffff811e0e6e&gt;] ? remove_proc_entry+0x154/0x16b
[ 1852.393987]  [&lt;ffffffff8107457b&gt;] warn_slowpath_fmt+0x4c/0x4e
[ 1852.397999]  [&lt;ffffffff811e0e6e&gt;] remove_proc_entry+0x154/0x16b
[ 1852.402034]  [&lt;ffffffff8129c73d&gt;] nfs_fs_proc_net_exit+0x53/0x56
[ 1852.406136]  [&lt;ffffffff812a103b&gt;] nfs_net_exit+0x12/0x1d
[ 1852.409774]  [&lt;ffffffff81785bc9&gt;] ops_exit_list+0x44/0x55
[ 1852.413529]  [&lt;ffffffff81786389&gt;] cleanup_net+0xee/0x182
[ 1852.417198]  [&lt;ffffffff81088c9e&gt;] process_one_work+0x209/0x40d
[ 1852.502320]  [&lt;ffffffff81088bf7&gt;] ? process_one_work+0x162/0x40d
[ 1852.587629]  [&lt;ffffffff810890c1&gt;] worker_thread+0x1f0/0x2c7
[ 1852.673291]  [&lt;ffffffff81088ed1&gt;] ? process_scheduled_works+0x2f/0x2f
[ 1852.759470]  [&lt;ffffffff8108e079&gt;] kthread+0xc9/0xd1
[ 1852.843099]  [&lt;ffffffff8109427f&gt;] ? finish_task_switch+0x3a/0xce
[ 1852.926518]  [&lt;ffffffff8108dfb0&gt;] ? __kthread_parkme+0x61/0x61
[ 1853.008565]  [&lt;ffffffff819cbeac&gt;] ret_from_fork+0x7c/0xb0
[ 1853.076477]  [&lt;ffffffff8108dfb0&gt;] ? __kthread_parkme+0x61/0x61
[ 1853.140653] ---[ end trace 69c4c6617f78e32d ]---

It looks wrong that we add "/proc/net/nfsfs" in nfs_fs_proc_net_init()
while remove "/proc/fs/nfsfs" in nfs_fs_proc_net_exit().

Fixes: commit 65b38851a17 (NFS: Fix /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes)
Cc: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
Cc: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Cc: Dan Aloni &lt;dan@kernelim.com&gt;
Signed-off-by: Cong Wang &lt;xiyou.wangcong@gmail.com&gt;
[Trond: replace uses of remove_proc_entry() with remove_proc_subtree()
as suggested by Al Viro]
Cc: stable@vger.kernel.org # 3.4.x : 65b38851a17: NFS: Fix /proc/fs/nfsfs/servers
Cc: stable@vger.kernel.org # 3.4.x
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'nfs-for-3.17-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs</title>
<updated>2014-08-14T00:13:19Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2014-08-14T00:13:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=06b8ab55289345ab191bf4bf0e4acc6d4bdf293d'/>
<id>urn:sha1:06b8ab55289345ab191bf4bf0e4acc6d4bdf293d</id>
<content type='text'>
Pull NFS client updates from Trond Myklebust:
 "Highlights include:

   - stable fix for a bug in nfs3_list_one_acl()
   - speed up NFS path walks by supporting LOOKUP_RCU
   - more read/write code cleanups
   - pNFS fixes for layout return on close
   - fixes for the RCU handling in the rpcsec_gss code
   - more NFS/RDMA fixes"

* tag 'nfs-for-3.17-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (79 commits)
  nfs: reject changes to resvport and sharecache during remount
  NFS: Avoid infinite loop when RELEASE_LOCKOWNER getting expired error
  SUNRPC: remove all refcounting of groupinfo from rpcauth_lookupcred
  NFS: fix two problems in lookup_revalidate in RCU-walk
  NFS: allow lockless access to access_cache
  NFS: teach nfs_lookup_verify_inode to handle LOOKUP_RCU
  NFS: teach nfs_neg_need_reval to understand LOOKUP_RCU
  NFS: support RCU_WALK in nfs_permission()
  sunrpc/auth: allow lockless (rcu) lookup of credential cache.
  NFS: prepare for RCU-walk support but pushing tests later in code.
  NFS: nfs4_lookup_revalidate: only evaluate parent if it will be used.
  NFS: add checks for returned value of try_module_get()
  nfs: clear_request_commit while holding i_lock
  pnfs: add pnfs_put_lseg_async
  pnfs: find swapped pages on pnfs commit lists too
  nfs: fix comment and add warn_on for PG_INODE_REF
  nfs: check wait_on_bit_lock err in page_group_lock
  sunrpc: remove "ec" argument from encrypt_v2 operation
  sunrpc: clean up sparse endianness warnings in gss_krb5_wrap.c
  sunrpc: clean up sparse endianness warnings in gss_krb5_seal.c
  ...
</content>
</entry>
<entry>
<title>NFS: Fix /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes</title>
<updated>2014-08-04T16:28:32Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2014-07-31T11:35:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=65b38851a17472d31fec9019fc3a55b0802dab88'/>
<id>urn:sha1:65b38851a17472d31fec9019fc3a55b0802dab88</id>
<content type='text'>
The usage of pid_ns-&gt;child_reaper-&gt;nsproxy-&gt;net_ns in
nfs_server_list_open and nfs_client_list_open is not safe.

/proc for a pid namespace can remain mounted after the all of the
process in that pid namespace have exited.  There are also times
before the initial process in a pid namespace has started or after the
initial process in a pid namespace has exited where
pid_ns-&gt;child_reaper can be NULL or stale.  Making the idiom
pid_ns-&gt;child_reaper-&gt;nsproxy a double whammy of problems.

Luckily all that needs to happen is to move /proc/fs/nfsfs/servers and
/proc/fs/nfsfs/volumes under /proc/net to /proc/net/nfsfs/servers and
/proc/net/nfsfs/volumes and add a symlink from the original location,
and to use seq_open_net as it has been designed.

Cc: stable@vger.kernel.org
Cc: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Cc: Stanislav Kinsbursky &lt;skinsbursky@parallels.com&gt;
Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</content>
</entry>
<entry>
<title>NFS: add checks for returned value of try_module_get()</title>
<updated>2014-08-03T21:14:10Z</updated>
<author>
<name>Alexey Khoroshilov</name>
</author>
<published>2014-07-17T23:11:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1f70ef96b176bdb3b75230ec68850d83736b387b'/>
<id>urn:sha1:1f70ef96b176bdb3b75230ec68850d83736b387b</id>
<content type='text'>
There is a couple of places in client code where returned value
of try_module_get() is ignored. As a result there is a small chance
to premature unload module because of unbalanced refcounting.

The patch adds error handling in that places.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov &lt;khoroshilov@ispras.ru&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs4: copy acceptor name from context to nfs_client</title>
<updated>2014-07-12T22:41:25Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2014-06-22T00:52:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f11b2a1cfbf5dd783eb55cb470509d06e20d1c78'/>
<id>urn:sha1:f11b2a1cfbf5dd783eb55cb470509d06e20d1c78</id>
<content type='text'>
The current CB_COMPOUND handling code tries to compare the principal
name of the request with the cl_hostname in the client. This is not
guaranteed to ever work, particularly if the client happened to mount
a CNAME of the server or a non-fqdn.

Fix this by instead comparing the cr_principal string with the acceptor
name that we get from gssd. In the event that gssd didn't send one
down (i.e. it was too old), then we fall back to trying to use the
cl_hostname as we do today.

Signed-off-by: Jeff Layton &lt;jlayton@poochiereds.net&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs: check hostname in nfs_get_client</title>
<updated>2014-07-08T18:30:03Z</updated>
<author>
<name>Peng Tao</name>
</author>
<published>2014-07-08T03:45:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=31434f496abb9f3410b10f541462fe58613dd3ad'/>
<id>urn:sha1:31434f496abb9f3410b10f541462fe58613dd3ad</id>
<content type='text'>
We reference cl_hostname in many places. Add a check to make
sure it exists.

Signed-off-by: Peng Tao &lt;tao.peng@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
</feed>
