A good part of Lua in the kernel is non-invasive, i.e. it consists of software that you can use or not. These parts, namely the lua(4) device driver, the Lua kernel modules that provide Lua bindings to the kernel, and the luactl(8) utility, are non-critical since they are "stand-alone" without needing any other sources to be changed.
There are, however, more invasive parts: When an existing piece of software want's to make use of Lua, these parts need to be made Lua-aware. This means changing, or rather extending, the source code. Think e.g. about the tty line disciplines which could be modified to allow for line disciplines to be written in Lua. The line disciplines code needs to create a Lua state for that, Lua code has to be loaded, and finally the tty line disciplines "subsystem" must call into the Lua code. For such more invasive changes, I foresee to use a kernel option, 'options LUA' which will compile such code only when the option is enabled. It will be commented out by default, besides maybe the ALL kernels.
