Smack:- Remove mutex lock "smk_lock" from inode_smack
authorCasey Schaufler <casey@schaufler-ca.com>
Fri, 24 Apr 2020 22:23:04 +0000 (15:23 -0700)
committerCasey Schaufler <casey@schaufler-ca.com>
Wed, 6 May 2020 21:46:26 +0000 (14:46 -0700)
commit921bb1cbb31bb0424b47de52174da20367449c8e
treef7beeab56ecc611b9bbea848db8105d7d94801fa
parent84e99e58e8d1e26f04c097f4266e431a33987f36
Smack:- Remove mutex lock "smk_lock" from inode_smack

"smk_lock" mutex is used during inode instantiation in
smack_d_instantiate()function. It has been used to avoid
simultaneous access on same inode security structure.
Since smack related initialization is done only once i.e during
inode creation. If the inode has already been instantiated then
smack_d_instantiate() function just returns without doing
anything.

So it means mutex lock is required only during inode creation.
But since 2 processes can't create same inodes or files
simultaneously. Also linking or some other file operation can't
be done simultaneously when the file is getting created since
file lookup will fail before dentry inode linkup which is done
after smack initialization.
So no mutex lock is required in inode_smack structure.

It will save memory as well as improve some performance.
If 40000 inodes are created in system, it will save 1.5 MB on
32-bit systems & 2.8 MB on 64-bit systems.

Signed-off-by: Vishal Goel <vishal.goel@samsung.com>
Signed-off-by: Amit Sahrawat <a.sahrawat@samsung.com>
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
security/smack/smack.h
security/smack/smack_lsm.c