Re: [GIT PULL] HID fixes

From: Linus Torvalds
Date: Thu Jan 09 2020 - 18:41:53 EST


On Thu, Jan 9, 2020 at 3:36 PM Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> Now, good source code presumably notices EPOLLERR and handles it. So
> it _shouldn't_ matter what the kernel does if an error occurs. I
> haven't checked what people _actually_ do, tnough. I worry sometimes
> that user space just looks at EPOLLIN sees it not being set, and gets
> stuck in a busy loop polling in case of errors.

Googling around for it, I find this, for example:

https://github.com/scylladb/seastar/issues/309

and yes, I think that's technically a user space bug, but it's very
much an example of this: they expect to get errors through read() or
write() calls, and get confused when poll() does not say that the fd
is readable or writable.

I don't know how common this is, but it didn't take a _lot_ of
googling for me to find that one..

Linus