“We all know Linux is written in C,” writes ZDNet. “What you may not know is that it’s written in a long-outdated C dialect: The 1989 version of the C language standard, C89.”
But that’s about to change, explains long-time Slashdot reader UnknowingFool: Linus Torvalds has decided that Linux will move to the C11 standard starting with kernel 5.18…. Linux had planned to move to a newer standard eventually with C99 being the next version. However a recent patch to a security problem revealed that there could be problems with C99.
In order to patch a potential security problem with Linux’s linked-list primitive speculative-execution functions, it was found that C99 would require the iterator must be declared outside the loop which would expose it to another security problem. Since C99 was not very popular, it was agreed to skip it and use C11. Backwards compatibility with most compilers like gcc