Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Mar 2018 21:05:28 +0000 (UTC)
From:      Eitan Adler <eadler@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r330355 - stable/11/sys/kern
Message-ID:  <201803032105.w23L5SfD053018@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: eadler
Date: Sat Mar  3 21:05:28 2018
New Revision: 330355
URL: https://svnweb.freebsd.org/changeset/base/330355

Log:
  MFC r305137:
  
  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()

Modified:
  stable/11/sys/kern/sys_capability.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/kern/sys_capability.c
==============================================================================
--- stable/11/sys/kern/sys_capability.c	Sat Mar  3 20:42:39 2018	(r330354)
+++ stable/11/sys/kern/sys_capability.c	Sat Mar  3 21:05:28 2018	(r330355)
@@ -154,16 +154,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);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803032105.w23L5SfD053018>