public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] KEYS: Have the garbage collector set its timer for live expired keys
@ 2009-09-16 14:54 David Howells
  2009-09-16 15:05 ` Ingo Molnar
  0 siblings, 1 reply; 5+ messages in thread
From: David Howells @ 2009-09-16 14:54 UTC (permalink / raw)
  To: torvalds, jmorris, eparis, mingo
  Cc: linux-security-module, linux-kernel, David Howells

The key garbage collector sets a timer to start a new collection cycle at the
point the earliest key to expire should be considered garbage.  However, it
currently only does this if the key it is considering hasn't yet expired.

If the key being considering has expired, but hasn't yet reached the collection
time then it is ignored, and won't be collected until some other key provokes a
round of collection.

Make the garbage collector set the timer for the earliest key that hasn't yet
passed its collection time, rather than the earliest key that hasn't yet
expired.

Signed-off-by: David Howells <dhowells@redhat.com>
---

 security/keys/gc.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


diff --git a/security/keys/gc.c b/security/keys/gc.c
index 485fc62..4770be3 100644
--- a/security/keys/gc.c
+++ b/security/keys/gc.c
@@ -169,9 +169,9 @@ static void key_garbage_collector(struct work_struct *work)
 
 	/* trawl through the keys looking for keyrings */
 	for (;;) {
-		if (key->expiry > now && key->expiry < new_timer) {
+		if (key->expiry > limit && key->expiry < new_timer) {
 			kdebug("will expire %x in %ld",
-			       key_serial(key), key->expiry - now);
+			       key_serial(key), key->expiry - limit);
 			new_timer = key->expiry;
 		}
 


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-09-17  6:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-16 14:54 [PATCH] KEYS: Have the garbage collector set its timer for live expired keys David Howells
2009-09-16 15:05 ` Ingo Molnar
2009-09-16 15:16   ` David Howells
2009-09-16 22:11     ` James Morris
2009-09-17  6:47       ` David Howells

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox