On Tue, May 25, 2021 at 9:40 AM Olivier Langlois <olivier@xxxxxxxxxxxxxx> wrote: > > If I look in the create_io_thread() function, I can see that CLONE_VM > isn't set... That would indeed be horribly buggy, but I'm not seeing it: .flags = ((lower_32_bits(flags) | CLONE_VM | CLONE_UNTRACED) & ~CSIGNAL), Yeah, it has that odd "first create 'flags' without the CLONE_VM, but that is only used for that lower_32_bits(flags) thing, and then we explicitly add CLONE_VM in there in the actual kernel_clone_args. It's because of how 'kernel_thread()' is written (that has historical reasons), and the oddity is copied from there. Linus