diff options
| -rw-r--r-- | security/keys/keyctl.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/security/keys/keyctl.c b/security/keys/keyctl.c index 427fddcaeb19..eca51918c951 100644 --- a/security/keys/keyctl.c +++ b/security/keys/keyctl.c | |||
| @@ -206,8 +206,14 @@ SYSCALL_DEFINE4(request_key, const char __user *, _type, | |||
| 206 | goto error5; | 206 | goto error5; |
| 207 | } | 207 | } |
| 208 | 208 | ||
| 209 | /* wait for the key to finish being constructed */ | ||
| 210 | ret = wait_for_key_construction(key, 1); | ||
| 211 | if (ret < 0) | ||
| 212 | goto error6; | ||
| 213 | |||
| 209 | ret = key->serial; | 214 | ret = key->serial; |
| 210 | 215 | ||
| 216 | error6: | ||
| 211 | key_put(key); | 217 | key_put(key); |
| 212 | error5: | 218 | error5: |
| 213 | key_type_put(ktype); | 219 | key_type_put(ktype); |
