aboutsummaryrefslogtreecommitdiffstats
path: root/security/keys/request_key.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-11-08 10:17:15 +0100
committerIngo Molnar <mingo@kernel.org>2017-11-08 10:17:15 +0100
commit8a103df440afea30c91ebd42e61dc644e647f4bd (patch)
tree2cfa99e9c6e1e138e1404bce4294e46cb0034cce /security/keys/request_key.c
parentsched/sysctl: Fix attributes of some extern declarations (diff)
parentdrivers/ide-cd: Handle missing driver data during status check gracefully (diff)
downloadlinux-dev-8a103df440afea30c91ebd42e61dc644e647f4bd.tar.xz
linux-dev-8a103df440afea30c91ebd42e61dc644e647f4bd.zip
Merge branch 'linus' into sched/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'security/keys/request_key.c')
-rw-r--r--security/keys/request_key.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/security/keys/request_key.c b/security/keys/request_key.c
index 63e63a42db3c..e8036cd0ad54 100644
--- a/security/keys/request_key.c
+++ b/security/keys/request_key.c
@@ -595,10 +595,9 @@ int wait_for_key_construction(struct key *key, bool intr)
intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE);
if (ret)
return -ERESTARTSYS;
- if (test_bit(KEY_FLAG_NEGATIVE, &key->flags)) {
- smp_rmb();
- return key->reject_error;
- }
+ ret = key_read_state(key);
+ if (ret < 0)
+ return ret;
return key_validate(key);
}
EXPORT_SYMBOL(wait_for_key_construction);