From: Eric Wong <normalperson@yhbt.net>
To: Nathaniel Yazdani <n1ght.4nd.d4y@gmail.com>
Cc: viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH for-next 4/4] epoll: epoll() syscall definition
Date: Tue, 25 Feb 2014 10:21:44 +0000 [thread overview]
Message-ID: <20140225102144.GA10176@dcvr.yhbt.net> (raw)
In-Reply-To: <1393206162-18151-5-git-send-email-n1ght.4nd.d4y@gmail.com>
Nathaniel Yazdani <n1ght.4nd.d4y@gmail.com> wrote:
> + * stores triggered eventpoll entries in the 'out' array. The input array is
> + * _not_ read-only, because the resulting event mask gets written back to each
> + * entry's ->ep_events field. When successful, this will be the same as before
> + * (plus EPOLLERR & EPOLLHUP). If ->ep_events gets cleared, then it is reasonable
> + * to infer that the entry's ->ep_fildes was a bad file descriptor.
> + */
> + if (!access_ok(VERIFY_WRITE, in, inc * sizeof(struct epoll)))
> + goto out;
> + for (i = 0; i < inc; ++i) {
> + int fd, io;
> + long long id;
> +
> + ret = -EFAULT;
> + if (__get_user(fd, &in[i].ep_fildes) ||
> + __get_user(io, &in[i].ep_events) ||
> + __get_user(id, &in[i].ep_ident))
> + goto out;
> +
> + ep_control(file->private_data, fd, &io, id, 0);
> + ret = -EFAULT;
> + if (__put_user(io, &in[i].ep_events))
> + goto out;
I don't think we should waste cycles writing to 'in' on success.
next prev parent reply other threads:[~2014-02-25 10:21 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-24 1:42 [RFC PATCH for-next 0/4] epoll: combined control/wait syscall Nathaniel Yazdani
2014-02-24 1:42 ` [RFC PATCH for-next 1/4] epoll: struct epoll userspace definiton Nathaniel Yazdani
2014-02-24 5:29 ` Eric Wong
[not found] ` <CAJ3m7Bq1y+MLn=HFY3AADnVc2HK31+WANahiYLUcdBw=hh_2pg@mail.gmail.com>
[not found] ` <20140225101527.GA9963@dcvr.yhbt.net>
2014-02-26 0:13 ` Nathaniel Yazdani
2014-02-24 1:42 ` [RFC PATCH for-next 2/4] epoll: epoll() syscall declaration Nathaniel Yazdani
2014-02-24 5:32 ` Eric Wong
2014-02-24 5:44 ` Nathaniel Yazdani
2014-02-25 10:30 ` Eric Wong
2014-02-25 23:44 ` Nathaniel Yazdani
2014-02-24 1:42 ` [RFC PATCH for-next 3/4] epoll: struct epoll support Nathaniel Yazdani
2014-02-24 18:59 ` Jonathan Corbet
2014-02-24 19:24 ` Nathaniel Yazdani
2014-02-24 1:42 ` [RFC PATCH for-next 4/4] epoll: epoll() syscall definition Nathaniel Yazdani
2014-02-25 10:21 ` Eric Wong [this message]
2014-02-25 23:46 ` Nathaniel Yazdani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140225102144.GA10176@dcvr.yhbt.net \
--to=normalperson@yhbt.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=n1ght.4nd.d4y@gmail.com \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).