We often argue that it is OK to add a feature the kernel semantics by observing that it is unnecessary. This is analogous to noting that some programming feature language is mere “syntactic sugar”. In the case of languages the sugar can be defined away thus showing that the modified language design can do nothing bad that could not be done already without the feature. This means that the addition does not harm language security. This is so even if the compiler takes specific note of the semantics of the feature and provides better code than it there had been a blind expansion of the code into earlier language constructs. These arguments can be subtle.

The kernel may also take special note of the meaning of the new call. Such ‘unnecessary’ additions to a kernel are usually for the benefits afforded by the special kernel code to perform the new function. With the change the system is faster but harder to trust, for all kernel clients must trust the new code even if they do not invoke it. If there a correct argument that the kernel feature is unneeded, and the argument is understood, and the new kernel code is correct, then there is no problem.