summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_descrip.c
diff options
context:
space:
mode:
authormjg <mjg@FreeBSD.org>2015-06-16 09:52:36 +0000
committermjg <mjg@FreeBSD.org>2015-06-16 09:52:36 +0000
commita5a3a94b02f2b62a521d49f600b762567d4f8451 (patch)
tree345352bf010aed96b00945e57e253feda213dd76 /sys/kern/kern_descrip.c
parent1b5e46102cb321470ac57b25aeac1c8febd34655 (diff)
downloadFreeBSD-src-a5a3a94b02f2b62a521d49f600b762567d4f8451.zip
FreeBSD-src-a5a3a94b02f2b62a521d49f600b762567d4f8451.tar.gz
fd: make rights a mandatory argument to fget_unlocked
Diffstat (limited to 'sys/kern/kern_descrip.c')
-rw-r--r--sys/kern/kern_descrip.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c
index b2a1ebd..8220786 100644
--- a/sys/kern/kern_descrip.c
+++ b/sys/kern/kern_descrip.c
@@ -746,7 +746,8 @@ kern_fcntl(struct thread *td, int fd, int cmd, intptr_t arg)
arg = arg ? 128 * 1024: 0;
/* FALLTHROUGH */
case F_READAHEAD:
- error = fget_unlocked(fdp, fd, NULL, &fp, NULL);
+ error = fget_unlocked(fdp, fd,
+ cap_rights_init(&rights), &fp, NULL);
if (error != 0)
break;
if (fp->f_type != DTYPE_VNODE) {
@@ -2368,11 +2369,9 @@ fget_unlocked(struct filedesc *fdp, int fd, cap_rights_t *needrightsp,
if (fp == NULL)
return (EBADF);
#ifdef CAPABILITIES
- if (needrightsp != NULL) {
- error = cap_check(&haverights, needrightsp);
- if (error != 0)
- return (error);
- }
+ error = cap_check(&haverights, needrightsp);
+ if (error != 0)
+ return (error);
#endif
retry:
count = fp->f_count;
OpenPOWER on IntegriCloud