TOMOYO: Fix lockdep warning.
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Sun, 26 Jun 2011 14:20:55 +0000 (23:20 +0900)
committerJames Morris <jmorris@namei.org>
Tue, 28 Jun 2011 23:31:21 +0000 (09:31 +1000)
commit2e503bbb435ae418aebbe4aeede1c6f2a33d6f74
treec6b783c245716cf87b337b2a855e742133afb7ac
parent5625f2e3266319fd29fe4f1c76ccd3f550c79ac4
TOMOYO: Fix lockdep warning.

Currently TOMOYO holds SRCU lock upon open() and releases it upon close()
because list elements stored in the "struct tomoyo_io_buffer" instances are
accessed until close() is called. However, such SRCU usage causes lockdep to
complain about leaving the kernel with SRCU lock held.

This patch solves the warning by holding/releasing SRCU upon each
read()/write(). This patch is doing something similar to calling kfree()
without calling synchronize_srcu(), by selectively deferring kfree() by keeping
track of the "struct tomoyo_io_buffer" instances.

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: James Morris <jmorris@namei.org>
security/tomoyo/common.c
security/tomoyo/common.h
security/tomoyo/gc.c