Once it is possible to manipulate host address spaces from userspace, the next step will be to create a separate address space for the UML kernel.
This will require another mechanism - an automatic address space switch on signal delivery. This is because UML enters kernel mode through the delivery of a host signal. In kernel mode, it executes on the kernel stack by specifying that stack as the alternate signal stack. Now, the stack would also be in a different address space, requiring, as Linus put it, ''sigaltstack on steroids''.