svn commit: r285829 - head/sys/kern
Sergey Kandaurov
pluknet at FreeBSD.org
Thu Jul 23 23:18:04 UTC 2015
Author: pluknet
Date: Thu Jul 23 23:18:03 2015
New Revision: 285829
URL: https://svnweb.freebsd.org/changeset/base/285829
Log:
Call ksem_get() with initialized 'rights'.
ksem_get() consumes fget(), and it's mandatory there.
Reported by: truckman
Reviewed by: mjg
Modified:
head/sys/kern/uipc_sem.c
Modified: head/sys/kern/uipc_sem.c
==============================================================================
--- head/sys/kern/uipc_sem.c Thu Jul 23 20:59:48 2015 (r285828)
+++ head/sys/kern/uipc_sem.c Thu Jul 23 23:18:03 2015 (r285829)
@@ -651,12 +651,13 @@ struct ksem_close_args {
int
sys_ksem_close(struct thread *td, struct ksem_close_args *uap)
{
+ cap_rights_t rights;
struct ksem *ks;
struct file *fp;
int error;
/* No capability rights required to close a semaphore. */
- error = ksem_get(td, uap->id, 0, &fp);
+ error = ksem_get(td, uap->id, cap_rights_init(&rights), &fp);
if (error)
return (error);
ks = fp->f_data;
@@ -872,12 +873,13 @@ struct ksem_destroy_args {
int
sys_ksem_destroy(struct thread *td, struct ksem_destroy_args *uap)
{
+ cap_rights_t rights;
struct file *fp;
struct ksem *ks;
int error;
/* No capability rights required to close a semaphore. */
- error = ksem_get(td, uap->id, 0, &fp);
+ error = ksem_get(td, uap->id, cap_rights_init(&rights), &fp);
if (error)
return (error);
ks = fp->f_data;
More information about the svn-src-all
mailing list