diff options
Diffstat (limited to 'security/keys/key.c')
-rw-r--r-- | security/keys/key.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/security/keys/key.c b/security/keys/key.c index 07a87311055c..09ef276c4bdc 100644 --- a/security/keys/key.c +++ b/security/keys/key.c | |||
@@ -430,7 +430,8 @@ static int __key_instantiate_and_link(struct key *key, | |||
430 | 430 | ||
431 | /* and link it into the destination keyring */ | 431 | /* and link it into the destination keyring */ |
432 | if (keyring) { | 432 | if (keyring) { |
433 | set_bit(KEY_FLAG_KEEP, &key->flags); | 433 | if (test_bit(KEY_FLAG_KEEP, &keyring->flags)) |
434 | set_bit(KEY_FLAG_KEEP, &key->flags); | ||
434 | 435 | ||
435 | __key_link(key, _edit); | 436 | __key_link(key, _edit); |
436 | } | 437 | } |