Re: [PATCH] Allow UML kernel to run in a separate host address space

Linus Torvalds
2002-12-29T04:11:02Z

On Sat, 28 Dec 2002, Jeff Dike wrote:

> torvalds@transmeta.com said:
> > On Sat, 28 Dec 2002, Jeff Dike wrote:
> >
> > > 3 - Ability to manipulate a child's address space (i.e. mmap, munmap,
> > > mprotect on an address space which is not current->mm)
> >
> > Well, #3 falls under "ptrace()" as far as I'm concerned,
>
> Not exactly. UML needs to be able to fiddle an address space that has no
> process in it (swapout, COWing, maybe a few other things).

But that is an address space that it should already has access to through,
since it created it in the first place (ie it would fall under the normal
"sys_mm_indirect()" case).

The thing that I _really_ don't want to have is soem uncontrolled way to
generate accesses to existing "struct mm_struct"s, since that is really
dangerous from a security standpoint.

We could have a PTRACE_GET_MM_FD kind of thing for ptrace (and then the
gdb/tracer can use that to create mappings in the process), but the reason
I want that "hook" to be through ptrace itself is simply that it's a known
interface to control other unrelated processes.

So if you create the MM's yourself, you can use the indirection directly.
But if you want to control your children or unrelated processes, you use
ptrace to get the hook.

Linus