Re: [PATCH v4 2/2] IMA: Call workqueue functions to measure queued keys
From: James Bottomley
Date: Mon Dec 16 2019 - 16:17:15 EST
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