<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/net/sunrpc/cache.c, branch v3.8</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.8</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.8'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2012-11-04T19:43:41Z</updated>
<entry>
<title>SUNRPC: remove BUG_ON calls from cache_read</title>
<updated>2012-11-04T19:43:41Z</updated>
<author>
<name>Weston Andros Adamson</name>
<email>dros@netapp.com</email>
</author>
<published>2012-10-23T14:43:36Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=0db74d9a2d2b312dd2cff066c5b97b8e626e403a'/>
<id>urn:sha1:0db74d9a2d2b312dd2cff066c5b97b8e626e403a</id>
<content type='text'>
Replace BUG_ON() with WARN_ON_ONCE() in two parts of cache_read().

Signed-off-by: Weston Andros Adamson &lt;dros@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Prevent kernel stack corruption on long values of flush</title>
<updated>2012-10-17T18:59:10Z</updated>
<author>
<name>Sasha Levin</name>
<email>levinsasha928@gmail.com</email>
</author>
<published>2012-07-16T22:01:26Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=212ba90696ab4884e2025b0b13726d67aadc2cd4'/>
<id>urn:sha1:212ba90696ab4884e2025b0b13726d67aadc2cd4</id>
<content type='text'>
The buffer size in read_flush() is too small for the longest possible values
for it. This can lead to a kernel stack corruption:

[   43.047329] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: ffffffff833e64b4
[   43.047329]
[   43.049030] Pid: 6015, comm: trinity-child18 Tainted: G        W    3.5.0-rc7-next-20120716-sasha #221
[   43.050038] Call Trace:
[   43.050435]  [&lt;ffffffff836c60c2&gt;] panic+0xcd/0x1f4
[   43.050931]  [&lt;ffffffff833e64b4&gt;] ? read_flush.isra.7+0xe4/0x100
[   43.051602]  [&lt;ffffffff810e94e6&gt;] __stack_chk_fail+0x16/0x20
[   43.052206]  [&lt;ffffffff833e64b4&gt;] read_flush.isra.7+0xe4/0x100
[   43.052951]  [&lt;ffffffff833e6500&gt;] ? read_flush_pipefs+0x30/0x30
[   43.053594]  [&lt;ffffffff833e652c&gt;] read_flush_procfs+0x2c/0x30
[   43.053596]  [&lt;ffffffff812b9a8c&gt;] proc_reg_read+0x9c/0xd0
[   43.053596]  [&lt;ffffffff812b99f0&gt;] ? proc_reg_write+0xd0/0xd0
[   43.053596]  [&lt;ffffffff81250d5b&gt;] do_loop_readv_writev+0x4b/0x90
[   43.053596]  [&lt;ffffffff81250fd6&gt;] do_readv_writev+0xf6/0x1d0
[   43.053596]  [&lt;ffffffff812510ee&gt;] vfs_readv+0x3e/0x60
[   43.053596]  [&lt;ffffffff812511b8&gt;] sys_readv+0x48/0xb0
[   43.053596]  [&lt;ffffffff8378167d&gt;] system_call_fastpath+0x1a/0x1f

Signed-off-by: Sasha Levin &lt;levinsasha928@gmail.com&gt;
Cc: stable@kernel.org
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>workqueue: make deferrable delayed_work initializer names consistent</title>
<updated>2012-08-21T20:18:23Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2012-08-21T20:18:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=203b42f7317494ae5e5efc7be6fb7f29c927f102'/>
<id>urn:sha1:203b42f7317494ae5e5efc7be6fb7f29c927f102</id>
<content type='text'>
Initalizers for deferrable delayed_work are confused.

* __DEFERRED_WORK_INITIALIZER()
* DECLARE_DEFERRED_WORK()
* INIT_DELAYED_WORK_DEFERRABLE()

Rename them to

* __DEFERRABLE_WORK_INITIALIZER()
* DECLARE_DEFERRABLE_WORK()
* INIT_DEFERRABLE_WORK()

This patch doesn't cause any functional changes.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>SUNRPC/cache: fix reporting of expired cache entries in 'content' file.</title>
<updated>2012-07-12T15:20:28Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2012-07-12T00:37:34Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=200724a7074281e7a0bf1101784a59fecddfa77d'/>
<id>urn:sha1:200724a7074281e7a0bf1101784a59fecddfa77d</id>
<content type='text'>
Entries that are in a sunrpc cache but are not valid should be reported
with a leading '#' so they look like a comment.
Commit  d202cce8963d9 (sunrpc: never return expired entries in sunrpc_cache_lookup)
broke this for expired entries.

This particularly applies to entries that have been replaced by newer entries.
sunrpc_cache_update sets the expiry of the replaced entry to '0', but it
remains in the cache until the next 'cache_clean'.
The result is that if you

  echo 0 2000000000 1 0 &gt; /proc/net/rpc/auth.unix.gid/channel

several times, then

  cat /proc/net/rpc/auth.unix.gid/content

It will display multiple entries for the one uid, which is at least confusing:

  #uid cnt: gids...
  0 1: 0
  0 1: 0
  0 1: 0

With this patch, expired entries are marked as comments so you get

  #uid cnt: gids...
  0 1: 0
  # 0 1: 0
  # 0 1: 0

These expired entries will never be seen by cache_check() as they are always
*after* a non-expired entry with the same key - so the extra check is only
needed in c_show()

Signed-off-by:  NeilBrown &lt;neilb@suse.de&gt;

--
It's not a big problem, but it had me confused for a while, so it could
well confuse others.
Thanks,
NeilBrown
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>net: cleanup unsigned to unsigned int</title>
<updated>2012-04-15T16:44:40Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2012-04-15T05:58:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=95c961747284a6b83a5e2d81240e214b0fa3464d'/>
<id>urn:sha1:95c961747284a6b83a5e2d81240e214b0fa3464d</id>
<content type='text'>
Use of "unsigned int" is preferred to bare "unsigned" in net tree.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge nfs containerization work from Trond's tree</title>
<updated>2012-03-26T15:48:54Z</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@redhat.com</email>
</author>
<published>2012-03-21T20:42:14Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1df00640c9111c881633d9b219f18e66c52599ec'/>
<id>urn:sha1:1df00640c9111c881633d9b219f18e66c52599ec</id>
<content type='text'>
The nfs containerization work is a prerequisite for Jeff Layton's reboot
recovery rework.
</content>
</entry>
<entry>
<title>nfsd: don't allow zero length strings in cache_parse()</title>
<updated>2012-02-03T19:26:42Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2012-01-18T09:56:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6d8d17499810479eabd10731179c04b2ca22152f'/>
<id>urn:sha1:6d8d17499810479eabd10731179c04b2ca22152f</id>
<content type='text'>
There is no point in passing a zero length string here and quite a
few of that cache_parse() implementations will Oops if count is
zero.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Cc: stable@kernel.org
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: generic cache register routines removed</title>
<updated>2012-02-01T00:28:16Z</updated>
<author>
<name>Stanislav Kinsbursky</name>
<email>skinsbursky@parallels.com</email>
</author>
<published>2012-01-19T17:42:53Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2c5f846747526e2b83c5f1b8e69016be0e2e87c0'/>
<id>urn:sha1:2c5f846747526e2b83c5f1b8e69016be0e2e87c0</id>
<content type='text'>
All cache users now uses network-namespace-aware routines, so generic ones
are obsolete.

Signed-off-by: Stanislav Kinsbursky &lt;skinsbursky@parallels.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Acked-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: cache creation and destruction routines introduced</title>
<updated>2012-02-01T00:28:14Z</updated>
<author>
<name>Stanislav Kinsbursky</name>
<email>skinsbursky@parallels.com</email>
</author>
<published>2012-01-19T17:42:21Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=0a402d5a653ee2b613aaba3092a87b1e964622ce'/>
<id>urn:sha1:0a402d5a653ee2b613aaba3092a87b1e964622ce</id>
<content type='text'>
This patch prepares infrastructure for network namespace aware cache detail
allocation.
One note about adding network namespace link to cache structure. It's going to
be used later in NFS DNS cache parsing routine (nfs_dns_parse for rpc_pton()
call).

Signed-off-by: Stanislav Kinsbursky &lt;skinsbursky@parallels.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Acked-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: split cache creation and PipeFS registration</title>
<updated>2012-01-31T23:20:26Z</updated>
<author>
<name>Stanislav Kinsbursky</name>
<email>skinsbursky@parallels.com</email>
</author>
<published>2011-11-25T14:12:40Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=820f9442e711a81749e70c40f149fc54c4ce0ca8'/>
<id>urn:sha1:820f9442e711a81749e70c40f149fc54c4ce0ca8</id>
<content type='text'>
This precursor patch splits SUNRPC cache creation and PipeFS registartion.
It's required for latter split of NFS DNS resolver cache creation per network
namespace context and PipeFS registration/unregistration on MOUNT/UMOUNT
events.

Signed-off-by: Stanislav Kinsbursky &lt;skinsbursky@parallels.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
</feed>
