There already are projects that run C++ code in the Linux kernel; the Click Modular Router from MIT PDOS is C++, for instance. It's probably prohibitively annoying to write mainline kernel code, like a device driver, in C++. There might not be anything to prevent you from loading a whole C++ subsystem, though.<p>I'll head some other commenters off at the past and note that MacOS X xnu has a C++ device driver interface, but is still a C-code kernel.<p>Linus is right about the exception handling and allocator issues. C++ exceptions are a misfeature in userland code; it's even more important for kernel code to be able to handle problems gracefully and explicitly, and unwinding stacks through functions running at different interrupt sensitivities and holding different locks seems like an disaster waiting to happen. And, unless my C++ has gotten rusty since Alexandrescu's book came out, nobody likes the C++ allocator interfaces --- which you'd certainly have to dive into to handle the kernel's various different allocation strategies.