aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/sys_capability.c
diff options
context:
space:
mode:
authorAllan Jude <allanjude@FreeBSD.org>2016-08-31 17:52:11 +0000
committerAllan Jude <allanjude@FreeBSD.org>2016-08-31 17:52:11 +0000
commit61bd7ae0ecbaeb41faaab7280703af2ac2af7e9a (patch)
tree34effe7b9e5bee08adea5ca8409b477e368be9c0 /sys/kern/sys_capability.c
parentcc14fb4c2eb866be196115eaf040caebe13dbc0f (diff)
downloadsrc-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.c11
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);
}