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>