mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
KEYS: Make the key reaper non-reentrant
Make the key reaper non-reentrant by sticking it on the appropriate system work queue when we queue it. This will allow it to have global state and drop locks. It should probably be non-reentrant already as it may spend a long time holding the key serial spinlock, and so multiple entrants can spend long periods of time just sitting there spinning, waiting to get the lock. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
parent
8bc16deabc
commit
b072e9bc2f
@ -602,7 +602,7 @@ void key_put(struct key *key)
|
||||
key_check(key);
|
||||
|
||||
if (atomic_dec_and_test(&key->usage))
|
||||
schedule_work(&key_gc_unused_work);
|
||||
queue_work(system_nrt_wq, &key_gc_unused_work);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(key_put);
|
||||
|
Loading…
Reference in New Issue
Block a user