diff options
author | Serge E. Hallyn <serue@us.ibm.com> | 2009-06-01 23:47:19 -0400 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2009-06-02 01:13:13 -0400 |
commit | fbeb4a9c20d00e2550156f9e5a34473fbde59de2 (patch) | |
tree | d08881a9eb2d768722363d7022d2ae4da81494d9 /security | |
parent | 13b297d943828c4594527a2bd9c30ecd04e37886 (diff) |
tomoyo: avoid get+put of task_struct
Use task_cred_xxx(task, security) in tomoyo_real_domain() to
avoid a get+put of the target cred.
Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Acked-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security')
-rw-r--r-- | security/tomoyo/tomoyo.h | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/security/tomoyo/tomoyo.h b/security/tomoyo/tomoyo.h index 41c6ebafb9c5..f12d5ada7dcb 100644 --- a/security/tomoyo/tomoyo.h +++ b/security/tomoyo/tomoyo.h | |||
@@ -90,17 +90,10 @@ static inline struct tomoyo_domain_info *tomoyo_domain(void) | |||
90 | return current_cred()->security; | 90 | return current_cred()->security; |
91 | } | 91 | } |
92 | 92 | ||
93 | /* Caller holds tasklist_lock spinlock. */ | ||
94 | static inline struct tomoyo_domain_info *tomoyo_real_domain(struct task_struct | 93 | static inline struct tomoyo_domain_info *tomoyo_real_domain(struct task_struct |
95 | *task) | 94 | *task) |
96 | { | 95 | { |
97 | /***** CRITICAL SECTION START *****/ | 96 | return task_cred_xxx(task, security); |
98 | const struct cred *cred = get_task_cred(task); | ||
99 | struct tomoyo_domain_info *domain = cred->security; | ||
100 | |||
101 | put_cred(cred); | ||
102 | return domain; | ||
103 | /***** CRITICAL SECTION END *****/ | ||
104 | } | 97 | } |
105 | 98 | ||
106 | #endif /* !defined(_SECURITY_TOMOYO_TOMOYO_H) */ | 99 | #endif /* !defined(_SECURITY_TOMOYO_TOMOYO_H) */ |