On Mon, 2019-12-16 at 11:20 -0800, Lakshmi Ramasubramanian wrote: > => If the flag is false, mutex is taken and the flag is checked > again. If the flag changed from false to true between the above two > tests, that means another thread had raced to call > ima_process_queued_keys() and has processed the queued keys. So > again, no further action is required. This is the problem: in the race case you may still be adding keys to the queue after the other thread has processed it. Those keys won't get processed because the flag is now false in the post check so the current thread won't process them either. James