On Wed, Nov 27, 2024 at 02:16:24PM -0700, Jens Axboe wrote: > I'd argue the fact that you are using an mm from a different process > without grabbing a reference is the wrinkle. I just don't think it's a > problem right now, but it could be... aio is tied to the mm because of > how it does completions, potentially, and hence needs this exit_aio() > hack because of that. aio also doesn't care, because it doesn't care > about blocking - it'll happily block during issue. I'm not trying to debate who's bug it is, I'm just checking if I need to backport a security fix. > > Jens, is it really FMODE_NOWAIT that controls whether we can hit this? A > > very cursory glance leads me to suspect "no", it seems like this is a > > bug if io_uring is allowed on bcachefs at all. > > I just looked at bcachefs dio writes, which look to be the only case of > this. And yes, for writes, if FMODE_NOWAIT isn't set, then io-wq is > always involved for the IO. Ok, sounds like we're in the clear. I already started writing the patch, so it'll just be a "now we can turn on FMODE_NOWAIT" instead of a bugfix. By the way, did the lifetime issue that was causing umount/remount to fail ever get resolved? I've currently got no test coverage for io_uring, would be nice to flip that back on.