Files
linux/net
Trond Myklebust f0380f3d16 RPC: Fix two potential races in put_rpccred
It is possible for rpcauth_destroy_credcache() to cause the rpc credentials
to be unhashed while put_rpccred is waiting for the rpc_credcache_lock on
another cpu. Should this happen, then we can end up calling
hlist_del_rcu(&cred->cr_hash) a second time in put_rpccred, thus causing
list corruption.

Should the credential actually be hashed, it is also possible for
rpcauth_lookup_credcache to find and reference it before we get round to
unhashing it. In this case, the call to rpcauth_unhash_cred will fail, and
so we should just exit without destroying the cred.

Reported-by: Neil Brown <neilb@suse.de>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2009-12-03 08:10:17 -05:00
..
2009-11-02 08:43:45 -06:00
2009-11-24 14:50:53 -08:00
2009-09-26 20:16:15 -07:00
2009-11-06 00:50:39 -08:00
2009-10-30 12:25:12 -07:00
2009-09-02 01:03:53 -07:00
2009-09-30 16:41:34 -07:00
2009-11-05 20:56:07 -08:00
2009-10-11 23:03:47 -07:00
2009-07-12 12:22:34 -07:00
2009-09-02 01:03:53 -07:00