aboutsummaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2011-07-15 21:56:37 +0200
committerArnd Bergmann <arnd@arndb.de>2011-07-15 21:56:37 +0200
commit62778396020a29d742abf980c1e83f3df4b5426e (patch)
tree08dc01019a1afe6ed16ab79c627ecd81caea52e0 /security
parent58f45e3c6f4fd2b9b9d7d43af71409a79a4b4cf6 (diff)
parentd3144df5bd8eb1c8137cc92989e2e6bc9f2e5a27 (diff)
Merge branch 'fixes-for-arnd' of git://git.pengutronix.de/git/imx/linux-2.6 into imx/fixes
Diffstat (limited to 'security')
-rw-r--r--security/keys/request_key.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/security/keys/request_key.c b/security/keys/request_key.c
index 8e319a416ee..82465328c39 100644
--- a/security/keys/request_key.c
+++ b/security/keys/request_key.c
@@ -469,7 +469,7 @@ static struct key *construct_key_and_link(struct key_type *type,
} else if (ret == -EINPROGRESS) {
ret = 0;
} else {
- key = ERR_PTR(ret);
+ goto couldnt_alloc_key;
}
key_put(dest_keyring);
@@ -479,6 +479,7 @@ static struct key *construct_key_and_link(struct key_type *type,
construction_failed:
key_negate_and_link(key, key_negative_timeout, NULL, NULL);
key_put(key);
+couldnt_alloc_key:
key_put(dest_keyring);
kleave(" = %d", ret);
return ERR_PTR(ret);