summaryrefslogtreecommitdiff
path: root/net/sunrpc/svcauth_unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sunrpc/svcauth_unix.c')
-rw-r--r--net/sunrpc/svcauth_unix.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c
index 11020c0b7db5..7e5707e2d6b6 100644
--- a/net/sunrpc/svcauth_unix.c
+++ b/net/sunrpc/svcauth_unix.c
@@ -36,16 +36,16 @@ struct auth_domain *unix_domain_find(char *name)
rv = auth_domain_lookup(name, NULL);
while(1) {
- if (rv != &new->h) {
- if (new) auth_domain_put(&new->h);
+ if (rv) {
+ if (new && rv != &new->h)
+ auth_domain_put(&new->h);
+
+ if (rv->flavour != &svcauth_unix) {
+ auth_domain_put(rv);
+ return NULL;
+ }
return rv;
}
- if (rv && rv->flavour != &svcauth_unix) {
- auth_domain_put(rv);
- return NULL;
- }
- if (rv)
- return rv;
new = kmalloc(sizeof(*new), GFP_KERNEL);
if (new == NULL)