diff options
author | mjg <mjg@FreeBSD.org> | 2015-06-16 09:52:36 +0000 |
---|---|---|
committer | mjg <mjg@FreeBSD.org> | 2015-06-16 09:52:36 +0000 |
commit | a5a3a94b02f2b62a521d49f600b762567d4f8451 (patch) | |
tree | 345352bf010aed96b00945e57e253feda213dd76 /sys/kern/kern_descrip.c | |
parent | 1b5e46102cb321470ac57b25aeac1c8febd34655 (diff) | |
download | FreeBSD-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.c | 11 |
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; |