diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2007-07-26 10:41:02 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-26 11:35:16 -0700 |
commit | f938d2c892db0d80d144253d4a7b7083efdbedeb (patch) | |
tree | 1fbc946a9fb59827001a5d4d5224abe5e624e605 /drivers/lguest/segments.c | |
parent | dfb68689bf3e3d31dc9fb5c2bde5379a4ca9b0ec (diff) | |
download | kernel_samsung_smdk4412-f938d2c892db0d80d144253d4a7b7083efdbedeb.zip kernel_samsung_smdk4412-f938d2c892db0d80d144253d4a7b7083efdbedeb.tar.gz kernel_samsung_smdk4412-f938d2c892db0d80d144253d4a7b7083efdbedeb.tar.bz2 |
lguest: documentation I: Preparation
The netfilter code had very good documentation: the Netfilter Hacking HOWTO.
Noone ever read it.
So this time I'm trying something different, using a bit of Knuthiness.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/lguest/segments.c')
-rw-r--r-- | drivers/lguest/segments.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/lguest/segments.c b/drivers/lguest/segments.c index 1b2cfe8..c4fc729 100644 --- a/drivers/lguest/segments.c +++ b/drivers/lguest/segments.c @@ -1,3 +1,14 @@ +/*P:600 The x86 architecture has segments, which involve a table of descriptors + * which can be used to do funky things with virtual address interpretation. + * We originally used to use segments so the Guest couldn't alter the + * Guest<->Host Switcher, and then we had to trim Guest segments, and restore + * for userspace per-thread segments, but trim again for on userspace->kernel + * transitions... This nightmarish creation was contained within this file, + * where we knew not to tread without heavy armament and a change of underwear. + * + * In these modern times, the segment handling code consists of simple sanity + * checks, and the worst you'll experience reading this code is butterfly-rash + * from frolicking through its parklike serenity. :*/ #include "lg.h" static int desc_ok(const struct desc_struct *gdt) |