mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 13:51:44 +00:00
KEYS: The dead key link reaper should be non-reentrant
The dead key link reaper should be non-reentrant as it relies on global state to keep track of where it's got to when it returns to the work queue manager to give it some air. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
parent
b072e9bc2f
commit
d199798bdf
@ -51,7 +51,7 @@ void key_schedule_gc(time_t gc_at)
|
||||
kenter("%ld", gc_at - now);
|
||||
|
||||
if (gc_at <= now) {
|
||||
schedule_work(&key_gc_work);
|
||||
queue_work(system_nrt_wq, &key_gc_work);
|
||||
} else if (gc_at < key_gc_next_run) {
|
||||
expires = jiffies + (gc_at - now) * HZ;
|
||||
mod_timer(&key_gc_timer, expires);
|
||||
@ -65,7 +65,7 @@ static void key_gc_timer_func(unsigned long data)
|
||||
{
|
||||
kenter("");
|
||||
key_gc_next_run = LONG_MAX;
|
||||
schedule_work(&key_gc_work);
|
||||
queue_work(system_nrt_wq, &key_gc_work);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -206,7 +206,7 @@ gc_released_our_lock:
|
||||
key_gc_new_timer = new_timer;
|
||||
key_gc_again = true;
|
||||
clear_bit(0, &key_gc_executing);
|
||||
schedule_work(&key_gc_work);
|
||||
queue_work(system_nrt_wq, &key_gc_work);
|
||||
kleave(" [continue]");
|
||||
return;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user