Re: [PATCH v2] integrity: Fix possible multiple allocation in integrity_inode_get()

From: Mimi Zohar
Date: Mon Jun 05 2023 - 07:53:28 EST


On Thu, 2023-06-01 at 14:42 +0800, Tianjia Zhang wrote:
> When integrity_inode_get() is querying and inserting the cache, there
> is a conditional race in the concurrent environment.
>
> The race condition is the result of not properly implementing
> "double-checked locking". In this case, it first checks to see if the
> iint cache record exists before taking the lock, but doesn't check
> again after taking the integrity_iint_lock.
>
> Fixes: bf2276d10ce5 ("ima: allocating iint improvements")
> Signed-off-by: Tianjia Zhang <tianjia.zhang@xxxxxxxxxxxxxxxxx>
> Cc: Dmitry Kasatkin <dmitry.kasatkin@xxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+

Thanks, Tianjia. The patch is now queued in next-integrity.

Mimi