Commit d199798bdf969873f78d48140600ff0a98a87e69

Authored by David Howells
Committed by James Morris
1 parent b072e9bc2f

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>

Showing 1 changed file with 3 additions and 3 deletions Side-by-side Diff

... ... @@ -51,7 +51,7 @@
51 51 kenter("%ld", gc_at - now);
52 52  
53 53 if (gc_at <= now) {
54   - schedule_work(&key_gc_work);
  54 + queue_work(system_nrt_wq, &key_gc_work);
55 55 } else if (gc_at < key_gc_next_run) {
56 56 expires = jiffies + (gc_at - now) * HZ;
57 57 mod_timer(&key_gc_timer, expires);
... ... @@ -65,7 +65,7 @@
65 65 {
66 66 kenter("");
67 67 key_gc_next_run = LONG_MAX;
68   - schedule_work(&key_gc_work);
  68 + queue_work(system_nrt_wq, &key_gc_work);
69 69 }
70 70  
71 71 /*
... ... @@ -206,7 +206,7 @@
206 206 key_gc_new_timer = new_timer;
207 207 key_gc_again = true;
208 208 clear_bit(0, &key_gc_executing);
209   - schedule_work(&key_gc_work);
  209 + queue_work(system_nrt_wq, &key_gc_work);
210 210 kleave(" [continue]");
211 211 return;
212 212