cgroup: always use RCU accessors for protected accesses
authorTejun Heo <tj@kernel.org>
Fri, 21 Jun 2013 22:52:33 +0000 (15:52 -0700)
committerTejun Heo <tj@kernel.org>
Wed, 26 Jun 2013 17:48:48 +0000 (10:48 -0700)
commita4ea1cc90604df08d471ae84eb9627319d10c844
tree73e12ef6845c5cf5bac0b8a2e4e6c4dd03af0a1b
parenta8ad805cfde00be8fe3b3dae8890996dbeb91e2c
cgroup: always use RCU accessors for protected accesses

kernel/cgroup.c still has places where a RCU pointer is set and
accessed directly without going through RCU_INIT_POINTER() or
rcu_dereference_protected().  They're all properly protected accesses
so nothing is broken but it leads to spurious sparse RCU address space
warnings.

Substitute direct accesses with RCU_INIT_POINTER() and
rcu_dereference_protected().  Note that %true is specified as the
extra condition for all derference updates.  This isn't ideal as all
it does is suppressing warning without actually policing
synchronization rules; however, most are scheduled to be removed
pretty soon along with css_id itself, so no reason to be more
elaborate.

Combined with the previous changes, this removes all RCU related
sparse warnings from cgroup.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Acked-by; Li Zefan <lizefan@huawei.com>
kernel/cgroup.c