NeilBrown a6ab1e8126 sunrpc/cache: drop reference when sunrpc_cache_pipe_upcall() detects a race
sunrpc_cache_pipe_upcall() can detect a race if CACHE_PENDING is no longer
set.  In this case it aborts the queuing of the upcall.
However it has already taken a new counted reference on "h" and
doesn't "put" it, even though it frees the data structure holding the reference.

So let's delay the "cache_get" until we know we need it.

Fixes: f9e1aedc6c79 ("sunrpc/cache: remove races with queuing an upcall.")
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2016-03-17 14:57:15 -04:00
..
2015-11-30 14:47:33 -05:00
2015-10-13 17:42:34 +02:00
2016-02-04 18:26:08 +01:00
2016-01-07 14:31:26 -05:00
2015-11-23 14:56:15 -05:00
2016-01-05 22:25:57 -05:00
2015-10-23 03:05:19 -07:00
2015-10-07 04:27:43 -07:00
2016-01-04 21:48:15 -05:00
2016-01-10 22:13:15 -05:00