diff options
| author | Tianjia Zhang <[email protected]> | 2023-06-01 06:42:44 +0000 |
|---|---|---|
| committer | Mimi Zohar <[email protected]> | 2023-06-01 11:25:04 +0000 |
| commit | 9df6a4870dc371136e90330cfbbc51464ee66993 (patch) | |
| tree | 7dd5e36322665b0ce299910dcea5758df8b32dc7 /lib/string_helpers.c | |
| parent | IMA: use vfs_getattr_nosec to get the i_version (diff) | |
| download | kernel-9df6a4870dc371136e90330cfbbc51464ee66993.tar.gz kernel-9df6a4870dc371136e90330cfbbc51464ee66993.zip | |
integrity: Fix possible multiple allocation in integrity_inode_get()
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 <[email protected]>
Cc: Dmitry Kasatkin <[email protected]>
Cc: <[email protected]> # v3.10+
Signed-off-by: Mimi Zohar <[email protected]>
Diffstat (limited to 'lib/string_helpers.c')
0 files changed, 0 insertions, 0 deletions
