News for hackers. Stuff that matters.
Re:Linux: What Can You Epoll? by tankenmate on Saturday October 22, 2022 @05:21PM (#33302351)
All "work" you want to do that interfaces with anything on an OS is handed off to the kernel; want to read a file? kernel, want to sleep for a while? kernel, etc. Besides things like network traffic is also asynchronous like io_uring (even if the socket() interfaces make it look somewhat synchronous). Outside of toy system asynchronicity is always a thing, especially when running on multiple cores.

I kind of get where you are coming from but at the same time, the kernel always gets the last say, so as long as io_uring has a good design and implementation it will always be just as good or bad as the OS as a whole. Whether run of the mill programmers are up to the task of being able to properly conceptualise and use such an OS is probably not the same thing.

Re:Linux: What Can You Epoll? by jeffbee on Saturday October 22, 2022 @05:42PM (#33302488)
Yeah but it's not well-designed, that's my point. It has obliviously shrugged off the tricky question of object lifetime, that's why it has already collected 16 different CVEs for things like use-after-free. Considering its short history, io_uring has already rocketed to the top of the list of dangerous kernel features.
Re:Linux: What Can You Epoll? by nathants on Saturday October 22, 2022 @05:52PM (#33302543)
with linux 6.0, lsm got the ability to filter io_uring. deny all and carry on.
Re:Linux: What Can You Epoll? by insanitybit on Sunday October 23, 2022 @12:52AM (#33304648)
Can you provide a source? Eager to read about how this is done.
Re:Linux: What Can You Epoll? by nathants on Sunday October 23, 2022 @12:57AM (#33304674)
Re:Linux: What Can You Epoll? by insanitybit on Sunday October 23, 2022 @01:12AM (#33304743)
Are they just going to keep adding hooks to every new system call implemented for io_uring?
Re:Linux: What Can You Epoll? by nathants on Sunday October 23, 2022 @01:15AM (#33304753)
my understanding is that this hook is the only one, but to properly secure io_uring one has to implement a check for every call here. or just disable it.