next up previous contents
Next: Testing Up: Implementation Previous: Userspace Administrative Tools   Contents

Summary

LinSec implementation represents a complete realization of the design as specified in Chapter 4.

In as much as the design itself is clear and the concepts are well understood, the implementation in the Linux kernel proved very challenging. The difficulties encountered were largely due to the sheer size of the Linux kernel source code (in excess of 2M lines of code) contributed to by hundreds of developers worldwide. From the very readable, easy to follow, largely MINIX source code at the very beginning, Linux kernel has evolved to a very intricate set of optimizations, code interdependencies and side effects which are anything but obvious or easy to follow. Not only did the LinSec implementation have to adapt to the Linux kernel but some of the Linux kernel mechanisms had to be altered to avoid clashes of methodologies (mainly DAC vs. MAC issues). Combining LinSec design with an mature operating system has shown to be equally challenging to devising the design itself.