diff options
author | David S. Miller <davem@davemloft.net> | 2015-11-01 00:15:30 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-11-01 00:15:30 -0400 |
commit | b75ec3af27bf011a760e2f44eb25a99b6fbb0fb3 (patch) | |
tree | 89f4fbab2c6194b32a46eb771c4b158585bf0bb5 /security/keys/gc.c | |
parent | e7b63ff115f21ea6c609cbb08f3d489af627af6e (diff) | |
parent | 523e13455ec9ec4457a5a1d24ff7132949742b70 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'security/keys/gc.c')
-rw-r--r-- | security/keys/gc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/security/keys/gc.c b/security/keys/gc.c index 39eac1fd5706..addf060399e0 100644 --- a/security/keys/gc.c +++ b/security/keys/gc.c @@ -134,8 +134,10 @@ static noinline void key_gc_unused_keys(struct list_head *keys) kdebug("- %u", key->serial); key_check(key); - /* Throw away the key data */ - if (key->type->destroy) + /* Throw away the key data if the key is instantiated */ + if (test_bit(KEY_FLAG_INSTANTIATED, &key->flags) && + !test_bit(KEY_FLAG_NEGATIVE, &key->flags) && + key->type->destroy) key->type->destroy(key); security_key_free(key); |