Messages in this thread | | | Date | Sun, 12 Sep 2010 08:46:13 +0200 | From | Pavel Machek <> | Subject | Re: disabling group leader perf_event |
| |
Hi!
> > >>Is this a roundabout way of saying "jit"? > > >Partly. I'm not sure we want to actually upload programs in bytecode > > >form. ASCII is just fine - just like a .gz Javascript is fine for web > > >apps. (and in most cases compresses down better than the bytecode > > >equivalent) > > > > > >So a clear language (the simpler initially the better) plus an in-kernel > > >compiler. > > > > > >This could be used for far more than just instrumentation: IMO security > > >policies could be expressed in such a way. (Simplified, they are quite > > >similar to filters installed on syscall entry/exit, with the ability of > > >the filter to influence whether the syscall is performed.) > > > > For me the requirements are: > > - turing complete (more than just filters) > > Yep. Filters are obviously just basically expressions. > > Conditions and variables can be added. Maybe loops too in simpler forms > - as long as we can prove halting - or maybe with a runtime abort > mechanism. > > > - easy interface to kernel APIs (like hrtimers) > > - safe to use by untrusted users > > Yep. > > > The actual language doesn't really matter. > > There are 3 basic categories: > > 1- Most (least abstract) specific code: a block of bytecode in the form > of a simplified, executable, kernel-checked x86 machine code block - > this is also the fastest form. [yes, this is actually possible.]
Well... if we want to be a bit x86-entric.... can we just reuse ACPI interpretter?
Plus, TOMOYO actually has a language inside... AppArmor actually has something, too, but iirc it is only as powerful as regexps. Pavel
-- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |