diff options
author | Allan Jude <allanjude@FreeBSD.org> | 2016-08-31 17:52:11 +0000 |
---|---|---|
committer | Allan Jude <allanjude@FreeBSD.org> | 2016-08-31 17:52:11 +0000 |
commit | 61bd7ae0ecbaeb41faaab7280703af2ac2af7e9a (patch) | |
tree | 34effe7b9e5bee08adea5ca8409b477e368be9c0 /sys/kern/sys_capability.c | |
parent | cc14fb4c2eb866be196115eaf040caebe13dbc0f (diff) | |
download | src-61bd7ae0ecbaeb41faaab7280703af2ac2af7e9a.tar.gz src-61bd7ae0ecbaeb41faaab7280703af2ac2af7e9a.zip |
Eliminate unnecessary loop in _cap_check()
Calling cap_rights_contains() several times with the same inputs is not
going to produce a different output. The variable being iterated, i, is
never used inside the for loop.
The loop is actually done in cap_rights_contains()
Submitted by: Ryan Moeller <ryan@freqlabs.com>
Reviewed by: oshogbo, ed
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D7369
Notes
Notes:
svn path=/head/; revision=305137
Diffstat (limited to 'sys/kern/sys_capability.c')
-rw-r--r-- | sys/kern/sys_capability.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/sys/kern/sys_capability.c b/sys/kern/sys_capability.c index e87f0b1445ac..b8ac5dd315d9 100644 --- a/sys/kern/sys_capability.c +++ b/sys/kern/sys_capability.c @@ -150,16 +150,13 @@ static inline int _cap_check(const cap_rights_t *havep, const cap_rights_t *needp, enum ktr_cap_fail_type type) { - int i; - for (i = 0; i < nitems(havep->cr_rights); i++) { - if (!cap_rights_contains(havep, needp)) { + if (!cap_rights_contains(havep, needp)) { #ifdef KTRACE - if (KTRPOINT(curthread, KTR_CAPFAIL)) - ktrcapfail(type, needp, havep); + if (KTRPOINT(curthread, KTR_CAPFAIL)) + ktrcapfail(type, needp, havep); #endif - return (ENOTCAPABLE); - } + return (ENOTCAPABLE); } return (0); } |