diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c index d8f17ea7932e9a3efaeb7743f9a0c662c2eb338c..8b344d0eb6ed3482b2872fbcfcf145ab58f94962 100644 --- a/net/sunrpc/auth.c +++ b/net/sunrpc/auth.c @@ -878,8 +878,12 @@ int __init rpcauth_init_module(void) err = rpc_init_generic_auth(); if (err < 0) goto out2; - register_shrinker(&rpc_cred_shrinker); + err = register_shrinker(&rpc_cred_shrinker); + if (err < 0) + goto out3; return 0; +out3: + rpc_destroy_generic_auth(); out2: rpc_destroy_authunix(); out1: