Live data from Hacker News

Epoll vs. io_uring in Linux

sibexi.co

71–79 of 79 posts

Re: Epoll vs. io_uring in Linux

#71
post #70
post #66

Earlier quoted context omitted.

What's the singular function that has a chance of turning out to be exploitable in the future?

With seccomp you can disable a single syscall which might be exploitable since you didn’t get around to patch your kernel, with cBPF you can now do the same for io_uring

And which single syscall might be exploitable? I don't wanna wait until after an exploit to disable it

Re: Epoll vs. io_uring in Linux

#72
post #71
post #70

Earlier quoted context omitted.

With seccomp you can disable a single syscall which might be exploitable since you didn’t get around to patch your kernel, with cBPF you can now do the same for io_uring

And which single syscall might be exploitable? I don't wanna wait until after an exploit to disable it

Nothing stops you from disabling everything you don’t need and now io_uring offers that per OP too.

Re: Epoll vs. io_uring in Linux

#73
post #72
post #71

Earlier quoted context omitted.

And which single syscall might be exploitable? I don't wanna wait until after an exploit to disable it

Nothing stops you from disabling everything you don’t need and now io_uring offers that per OP too.

Yes, but what parts of io_uring are safe to not disable?

Re: Epoll vs. io_uring in Linux

#74
post #72
post #71

Earlier quoted context omitted.

And which single syscall might be exploitable? I don't wanna wait until after an exploit to disable it

Nothing stops you from disabling everything you don’t need and now io_uring offers that per OP too.

I don’t get what you mean, in the past it was all or nothing, now you can disable every single operation selectively.

Gotta read the usual sources to find out what you gotta disable on your machines, like you have to for every single syscall since forever.

Re: Epoll vs. io_uring in Linux

#75
post #74
post #72

Earlier quoted context omitted.

Nothing stops you from disabling everything you don’t need and now io_uring offers that per OP too.

I don’t get what you mean, in the past it was all or nothing, now you can disable every single operation selectively. Gotta read the usual sources to find out what you gotta disable on your machines, like you have to for every single syscall since forever.

I mean exactly what I said. How do I know which parts of io_uring won't have security vulnerabilities discovered in the future?

Re: Epoll vs. io_uring in Linux

#76

Just use AF_XDP

That only applies for network sockets, and requires taking responsibility for the entire network protocol stack. Not something that should be done without a very compelling reason, and not applicable at all in this case, where storage devices are involved.

Re: Epoll vs. io_uring in Linux

#77
post #76

Just use AF_XDP

That only applies for network sockets, and requires taking responsibility for the entire network protocol stack. Not something that should be done without a very compelling reason, and not applicable at all in this case, where storage devices are involved.

You are correct and I misread the article while skimming it.

Re: Epoll vs. io_uring in Linux

#78
post #43

Such a great article! This sent me through a rabbit hole of uring, kernel development and C. I've been a rust and c++ dev for quite a few years now, but there's such a simplicity and even artistic feel to small(ish) C programs.

This article is very brief and not deep enough. There is one I’m finding a much more “to the bone” and explaining io_uring concepts in much deeper details:

https://unixism.net/loti/index.html

Feel free to reverse-search the related HN thread too.

Re: Epoll vs. io_uring in Linux

#79
post #78
post #43

Such a great article! This sent me through a rabbit hole of uring, kernel development and C. I've been a rust and c++ dev for quite a few years now, but there's such a simplicity and even artistic feel to small(ish) C programs.

This article is very brief and not deep enough. There is one I’m finding a much more “to the bone” and explaining io_uring concepts in much deeper details: https://unixism.net/loti/index.html Feel free to reverse-search the related HN thread too.

Thank you
Post reply on HN