Re: [PATCH 3/5] v2 seccomp_filters: Enable ftrace-based system callfiltering

From: Avi Kivity
Date: Thu May 26 2011 - 14:07:38 EST


On 05/26/2011 02:38 PM, Ingo Molnar wrote:
* Avi Kivity<avi@xxxxxxxxxx> wrote:

> > The biggest amount of RAM is the guest RAM image - but if that is
> > mmap(SHARED) and mapped using hugepages then the pte overhead
> > from a process model is largely mitigated.
>
> That doesn't work with memory hotplug.

Why not, if we do the sensible thing and restrict the size
granularity and alignment of plugged/unplugged memory regions to 2MB?

Once forked, you cannot have new shared anonymous memory, can you?

We can fix guest Linux as well to not be stupid about the sizing of
memory hotplug requests. It does hotplug based on the memory map we
pass to it anyway.

Am i missing something obvious here?

Yes, the new mmap() will be only visible in the calling process.

> > Maybe even the isolation and per device access control of
> > *same-class* devices from each other is possible: with careful
> > implementation of the subsystem shared data structures. (which
> > isnt much really)
>
> Right, hardly at all in fact. The problem comes from the side-band
> issues like reset, interrupts, hotplug, and whatnot.

Yeah. There are two good aspects here i think:

- The sideband IPC overhead does not matter much, it's a side band.

- Spending the effort to isolate configuration details is worth it:
sideband code is a primary breeding ground for bugs and security
holes.

The main worry to me would be the maintainability difference: does it
result in much more complex code? As always i'm cautiously optimistic
about that: i think once we try it we can find a suitable model ...
It might even turn out to be more readable and more flexible in the
end.

I also believe it will be more maintainable, especially if written in a language that has explicit support for message passing (e.g. Erlang). This is because it is more similar to how hardware actually works. However it needs to be designed in, it's not just a matter of switching a thread to a process.

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/