On 8/15/20 7:12 PM, Drew DeVault wrote: > Kernel 5.7.12-arch1-1 x86_64, Arch Linux. > > I'm working on a new implementation of the userspace end of io_uring for > a new programming language under design. The program is pretty simple: > it sets up an io_uring with flags set to zero, obtains an SQE, prepares > it to read 1024 bytes from stdin, and then calls io_uring_enter with > submit and min_complete both set to 1. > > The code is set up to grab the CQE and interpret the data in the buffer > after this, but I'm not sure if this side ever gets run in userspace, > because my kernel immediately locks up after I press enter on the > controlling terminal to submit some data to stdin. > > I have uploaded a binary which reproduces the problem here: > > https://yukari.sr.ht/io_uring-crashme > > If you want to reproduce it from source, reach out to me out of band; it > will be a challenge. This new programming langauge is technically GPL'd, > but it hasn't been released to the public, YMMV getting it set up on > localhost, and it doesn't generate DWARF symbols so you're going to be > debugging assembly no matter what. This should be fixed by this one: https://git.kernel.dk/cgit/linux-block/commit/?h=io_uring-5.9&id=d4e7cd36a90e38e0276d6ce0c20f5ccef17ec38c which will go into 5.7/5.8 stable shortly. Affected files are the ones that use double waitqueues at the same time for polling, which are mostly just tty... -- Jens Axboe