On Thu, Aug 27, 2020 at 09:18:02AM +0200, Stefano Garzarella wrote: > On Wed, Aug 26, 2020 at 12:50:31PM -0700, Kees Cook wrote: > > On Thu, Aug 13, 2020 at 05:32:54PM +0200, Stefano Garzarella wrote: > > > This patch adds a new IORING_SETUP_R_DISABLED flag to start the > > > rings disabled, allowing the user to register restrictions, > > > buffers, files, before to start processing SQEs. > > > > > > When IORING_SETUP_R_DISABLED is set, SQE are not processed and > > > SQPOLL kthread is not started. > > > > > > The restrictions registration are allowed only when the rings > > > are disable to prevent concurrency issue while processing SQEs. > > > > > > The rings can be enabled using IORING_REGISTER_ENABLE_RINGS > > > opcode with io_uring_register(2). > > > > > > Suggested-by: Jens Axboe <axboe@xxxxxxxxx> > > > Signed-off-by: Stefano Garzarella <sgarzare@xxxxxxxxxx> > > > > Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> > > > > Where can I find the io_uring selftests? I'd expect an additional set of > > patches to implement the selftests for this new feature. > > Since the io_uring selftests are stored in the liburing repository, I created > a new test case (test/register-restrictions.c) in my fork and I'll send it > when this series is accepted. It's available in this repository: > > https://github.com/stefano-garzarella/liburing (branch: io_uring_restrictions) Ah-ha; thank you! Looks good. :) -- Kees Cook