diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-31 11:12:57 -0700 |
---|---|---|
committer | Ziyan <jaraidaniel@gmail.com> | 2016-01-17 20:28:12 +0100 |
commit | 8e8ef9b2408be00131facafd0568fbddc2410a21 (patch) | |
tree | a719b2e59f4ffe26ad1b614fc7bf13cbb1bd8285 | |
parent | 02ce63ccc9b327ab1a1e31c06b545ff9c9129435 (diff) | |
download | kernel_samsung_tuna-8e8ef9b2408be00131facafd0568fbddc2410a21.zip kernel_samsung_tuna-8e8ef9b2408be00131facafd0568fbddc2410a21.tar.gz kernel_samsung_tuna-8e8ef9b2408be00131facafd0568fbddc2410a21.tar.bz2 |
selinux: inline avc_audit() and avc_has_perm_noaudit() into caller
Now that all the slow-path code is gone from these functions, we can
inline them into the main caller - avc_has_perm_flags().
Now the compiler can see that 'avc' is allocated on the stack for this
case, which helps register pressure a bit. It also actually shrinks the
total stack frame, because the stack frame that avc_has_perm_flags()
always needed (for that 'avc' allocation) is now sufficient for the
inlined functions too.
Inlining isn't bad - but mindless inlining of cold code (see the
previous commit) is.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dan Trifan <jimsth@gmail.com>
-rw-r--r-- | security/selinux/avc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/security/selinux/avc.c b/security/selinux/avc.c index 799b0f9..3bbc081 100644 --- a/security/selinux/avc.c +++ b/security/selinux/avc.c @@ -513,7 +513,7 @@ static noinline int slow_avc_audit(u32 ssid, u32 tsid, u16 tclass, * be performed under a lock, to allow the lock to be released * before calling the auditing code. */ -int avc_audit(u32 ssid, u32 tsid, +inline int avc_audit(u32 ssid, u32 tsid, u16 tclass, u32 requested, struct av_decision *avd, int result, struct common_audit_data *a, unsigned flags) @@ -796,7 +796,7 @@ static noinline int avc_denied(u32 ssid, u32 tsid, * auditing, e.g. in cases where a lock must be held for the check but * should be released for the auditing. */ -int avc_has_perm_noaudit(u32 ssid, u32 tsid, +inline int avc_has_perm_noaudit(u32 ssid, u32 tsid, u16 tclass, u32 requested, unsigned flags, struct av_decision *avd) |