Unsafe operator new usage
The compiler expects operator new to throw an exception on allocation failure, but this doesn't happen in the kernel. The kernel just checks for a NULL pointer afterwards. However, if the class has a constructor, it is run on a NULL object. This is massively unsafe. Switch to the operator new nothrow variant instead.