From: Hiroyuki Machida <Hiroyuki.Mach@gmail.com>
To: rohit verma <rohit.170309@gmail.com>
Cc: linux-kernel@vger.kernel.org
Subject: epoll_create(0) becomes not to fail (Re: issue with epoll system call)
Date: Fri, 8 May 2009 16:49:54 +0900 [thread overview]
Message-ID: <feaf5ed90905080049j78a4ab54x53ce65f22a3ea6a4@mail.gmail.com> (raw)
Hi Verma,
I think your point is right. but descriptions looks not straight forward.
And title of the message is very confusable.
I think descriptions like following would be easy to understand, and
you should attach a your signed-off patch to fix the bug.
Thanks,
Hiro
----
The following patch changed behavior of epoll_create(0);
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=9fe5ad9c8cef9ad5873d8ee55d1cf00d9b607df0;hp=e38b36f325153eaadd1c2a7abc5762079233e540
Before applying the patch,
sys_epoll_create2(int size, int flags)
returned -EINVAL, with size=0;
But, if-condtion which is introduced in sys_epoll_create() by this patch,
looks to fail to consider case of size==0 as follows;
asmlinkage long sys_epoll_create(int size)
{
- return sys_epoll_create2(size, 0);
+ if (size < 0)
+ return -EINVAL;
+
+ return sys_epoll_create1(0);
}
---
Hiroyuki Machida
On Thu, May 7, 2009 at 4:10 PM, rohit verma <rohit.170309@gmail.com> wrote:
> hi all,
>
> The man pages of epoll_create says - "Since Linux 2.6.8, the size
> argument is unused. (The kernel dynamically sizes the required data
> structures without needing this initial hint.)" .
>
> Also, it says that the syscall returns EINVAL , when size is not
> positive. (i.e For, any value greater than 0, the kernel dynamically
> sizes the required data stuctures). When size is zero or less than
> zero, it has to return with error as EINVAL.
>
> the link: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=9fe5ad9c8cef9ad5873d8ee55d1cf00d9b607df0;hp=e38b36f325153eaadd1c2a7abc5762079233e540
>
> shows the latest patch of the epoll syscall. here , the syscall says:
>
> asmlinkage long sys_epoll_create(int size)
> {
> - return sys_epoll_create2(size,0);
> + if (size < 0)
> + return -EINVAL;
> +
> +return sys_epoll_create1(0);
> }
>
> So if size = 0, it returns success which might not be the expected
> result. So i feel that the condition check should be
> " if (size <= 0) ". could u please check on this and reply me..
>
> Thank you,
>
> Regards,
> rohit
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
next reply other threads:[~2009-05-08 7:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-08 7:49 Hiroyuki Machida [this message]
2009-05-08 15:19 ` Davide Libenzi
2009-05-12 6:54 ` rohit verma
2009-05-12 19:03 ` Davide Libenzi
2009-05-13 0:58 ` Hiroyuki Machida
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=feaf5ed90905080049j78a4ab54x53ce65f22a3ea6a4@mail.gmail.com \
--to=hiroyuki.mach@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rohit.170309@gmail.com \
/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
all inboxes | Powered by JetHome®