Merge 73ef4f6e37 ("io_uring/net: fix sendzc double notif flush") into android16-6.12
Steps on the way to 6.12.21 Change-Id: Ie18f887b9863d98ff5cabaf2de4fe50b4cb6d9e7 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
+3
-1
@@ -218,8 +218,10 @@ continue_scanning:
|
||||
key = rb_entry(cursor, struct key, serial_node);
|
||||
cursor = rb_next(cursor);
|
||||
|
||||
if (refcount_read(&key->usage) == 0)
|
||||
if (test_bit(KEY_FLAG_FINAL_PUT, &key->flags)) {
|
||||
smp_mb(); /* Clobber key->user after FINAL_PUT seen. */
|
||||
goto found_unreferenced_key;
|
||||
}
|
||||
|
||||
if (unlikely(gc_state & KEY_GC_REAPING_DEAD_1)) {
|
||||
if (key->type == key_gc_dead_keytype) {
|
||||
|
||||
@@ -658,6 +658,8 @@ void key_put(struct key *key)
|
||||
key->user->qnbytes -= key->quotalen;
|
||||
spin_unlock_irqrestore(&key->user->lock, flags);
|
||||
}
|
||||
smp_mb(); /* key->user before FINAL_PUT set. */
|
||||
set_bit(KEY_FLAG_FINAL_PUT, &key->flags);
|
||||
schedule_work(&key_gc_work);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user