Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Jan 2015 08:24:41 +0000 (UTC)
From:      Dmitry Chagin <dchagin@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r277293 - user/dchagin/lemul/sys/compat/linux
Message-ID:  <201501170824.t0H8Of7w008809@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dchagin
Date: Sat Jan 17 08:24:40 2015
New Revision: 277293
URL: https://svnweb.freebsd.org/changeset/base/277293

Log:
  Check that user supplied epfd file descriptor is a kqueue file descriptor
  a bit earlier as in epoll_to_kevent() we use epoll.
  
  Reported by:    trinity

Modified:
  user/dchagin/lemul/sys/compat/linux/linux_event.c

Modified: user/dchagin/lemul/sys/compat/linux/linux_event.c
==============================================================================
--- user/dchagin/lemul/sys/compat/linux/linux_event.c	Sat Jan 17 08:14:46 2015	(r277292)
+++ user/dchagin/lemul/sys/compat/linux/linux_event.c	Sat Jan 17 08:24:40 2015	(r277293)
@@ -402,6 +402,8 @@ linux_epoll_ctl(struct thread *td, struc
 	    cap_rights_init(&rights, CAP_KQUEUE_CHANGE), &epfp);
 	if (error != 0)
 		return (error);
+	if (epfp->f_type != DTYPE_KQUEUE)
+		goto leave1;
 
 	 /* Protect user data vector from incorrectly supplied fd. */
 	error = fget(td, args->fd, cap_rights_init(&rights, CAP_POLL_EVENT), &fp);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201501170824.t0H8Of7w008809>