svn commit: r277496 - head/sys/kern
Mateusz Guzik
mjg at FreeBSD.org
Wed Jan 21 18:32:54 UTC 2015
Author: mjg
Date: Wed Jan 21 18:32:53 2015
New Revision: 277496
URL: https://svnweb.freebsd.org/changeset/base/277496
Log:
filedesc: avoid spurious copying of capabilities in fget_unlocked
We obtain a stable copy and store it in local 'fde' variable. Storing another
copy (based on aforementioned variable) does not serve any purpose.
No functional changes.
Modified:
head/sys/kern/kern_descrip.c
Modified: head/sys/kern/kern_descrip.c
==============================================================================
--- head/sys/kern/kern_descrip.c Wed Jan 21 18:05:42 2015 (r277495)
+++ head/sys/kern/kern_descrip.c Wed Jan 21 18:32:53 2015 (r277496)
@@ -2337,7 +2337,7 @@ fget_unlocked(struct filedesc *fdp, int
u_int count;
#ifdef CAPABILITIES
seq_t seq;
- cap_rights_t haverights;
+ cap_rights_t *haverights;
int error;
#endif
@@ -2367,9 +2367,9 @@ fget_unlocked(struct filedesc *fdp, int
if (fp == NULL)
return (EBADF);
#ifdef CAPABILITIES
- haverights = *cap_rights_fde(&fde);
+ haverights = cap_rights_fde(&fde);
if (needrightsp != NULL) {
- error = cap_check(&haverights, needrightsp);
+ error = cap_check(haverights, needrightsp);
if (error != 0)
return (error);
if (cap_rights_is_set(needrightsp, CAP_FCNTL)) {
@@ -2408,7 +2408,7 @@ fget_unlocked(struct filedesc *fdp, int
*fpp = fp;
if (haverightsp != NULL) {
#ifdef CAPABILITIES
- *haverightsp = haverights;
+ *haverightsp = *haverights;
#else
CAP_ALL(haverightsp);
#endif
More information about the svn-src-all
mailing list