diff options
Diffstat (limited to 'security/keys/encrypted-keys/encrypted.c')
-rw-r--r-- | security/keys/encrypted-keys/encrypted.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/security/keys/encrypted-keys/encrypted.c b/security/keys/encrypted-keys/encrypted.c index 927db9f35ad6..696ccfa08d10 100644 --- a/security/keys/encrypted-keys/encrypted.c +++ b/security/keys/encrypted-keys/encrypted.c | |||
@@ -845,6 +845,8 @@ static int encrypted_update(struct key *key, struct key_preparsed_payload *prep) | |||
845 | size_t datalen = prep->datalen; | 845 | size_t datalen = prep->datalen; |
846 | int ret = 0; | 846 | int ret = 0; |
847 | 847 | ||
848 | if (test_bit(KEY_FLAG_NEGATIVE, &key->flags)) | ||
849 | return -ENOKEY; | ||
848 | if (datalen <= 0 || datalen > 32767 || !prep->data) | 850 | if (datalen <= 0 || datalen > 32767 || !prep->data) |
849 | return -EINVAL; | 851 | return -EINVAL; |
850 | 852 | ||