Messages in this thread | | | Subject | Re: [PATCH v3 1/2] IMA: Define workqueue for early boot "key" measurements | From | Lakshmi Ramasubramanian <> | Date | Thu, 12 Dec 2019 18:59:39 -0800 |
| |
On 12/12/2019 6:32 PM, Mimi Zohar wrote:
>>> >>> Don't you need a test here, before setting ima_process_keys? >>> >>> if (ima_process_keys) >>> return; >>> >>> Mimi >> >> That check is done before the comment - at the start of >> ima_process_queued_keys(). > > The first test prevents taking the mutex unnecessarily. > > Mimi
I am trying to understand your concern here. Could you please clarify?
=> If ima_process_keys is false -> With the mutex held, should check ima_process_keys again before setting?
Let's say 2 or more threads are racing in calling ima_process_queued_keys():
The 1st one will set ima_process_keys and process queued keys.
The 2nd and subsequent ones - even if they have gone past the initial check, will find an empty list of keys (the list "ima_keys") when they take the mutex. So they'll not process any keys.
thanks, -lakshmi
| |