diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-31 14:12:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-31 14:24:22 -0400 |
commit | cdb0f9a1ad2ee3c11e21bc99f0c2021a02844666 (patch) | |
tree | e4c2ea0b8c432645d1a28bdb694939b1e2891b30 /security | |
parent | a554bea89948dfb6d2f9c4c62ce2b12b2dac18ad (diff) |
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>
Diffstat (limited to 'security')
-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 07620bc94e2a..1a70fa26da72 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, | |||
513 | * be performed under a lock, to allow the lock to be released | 513 | * be performed under a lock, to allow the lock to be released |
514 | * before calling the auditing code. | 514 | * before calling the auditing code. |
515 | */ | 515 | */ |
516 | int avc_audit(u32 ssid, u32 tsid, | 516 | inline int avc_audit(u32 ssid, u32 tsid, |
517 | u16 tclass, u32 requested, | 517 | u16 tclass, u32 requested, |
518 | struct av_decision *avd, int result, struct common_audit_data *a, | 518 | struct av_decision *avd, int result, struct common_audit_data *a, |
519 | unsigned flags) | 519 | unsigned flags) |
@@ -796,7 +796,7 @@ static noinline int avc_denied(u32 ssid, u32 tsid, | |||
796 | * auditing, e.g. in cases where a lock must be held for the check but | 796 | * auditing, e.g. in cases where a lock must be held for the check but |
797 | * should be released for the auditing. | 797 | * should be released for the auditing. |
798 | */ | 798 | */ |
799 | int avc_has_perm_noaudit(u32 ssid, u32 tsid, | 799 | inline int avc_has_perm_noaudit(u32 ssid, u32 tsid, |
800 | u16 tclass, u32 requested, | 800 | u16 tclass, u32 requested, |
801 | unsigned flags, | 801 | unsigned flags, |
802 | struct av_decision *avd) | 802 | struct av_decision *avd) |