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