SMACK: Add the rcu synchronization mechanism in ipv6 hooks
authorVishal Goel <vishal.goel@samsung.com>
Wed, 23 Nov 2016 05:01:08 +0000 (10:31 +0530)
committerCasey Schaufler <casey@schaufler-ca.com>
Tue, 10 Jan 2017 17:47:20 +0000 (09:47 -0800)
commit3c7ce3427106f0fa2d8593f9fd8f82c494215782
tree982ee2c19f059bbd1377d0345006a9f87eb7b9ee
parent916cafdc95843fb9af5fd5f83ca499d75473d107
SMACK: Add the rcu synchronization mechanism in ipv6 hooks

Add the rcu synchronization mechanism for accessing smk_ipv6_port_list
in smack IPv6 hooks. Access to the port list is vulnerable to a race
condition issue,it does not apply proper synchronization methods while
working on critical section. It is possible that when one thread is
reading the list, at the same time another thread is modifying the
same port list, which can cause the major problems.

To ensure proper synchronization between two threads, rcu mechanism
has been applied while accessing and modifying the port list. RCU will
also not affect the performance, as there are more accesses than
modification where RCU is most effective synchronization mechanism.

Signed-off-by: Vishal Goel <vishal.goel@samsung.com>
Signed-off-by: Himanshu Shukla <himanshu.sh@samsung.com>
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
security/smack/smack_lsm.c