It is a good question so I wrote a longer reply: https://erik-engheim.medium.com/do-we-need-a-replacement-for-c-3256a8b44814
In short I do think we need a C replacement. On regular intervals we are getting serious vulnurablities in our software eco-system which we in large part can blame C for.
What we can is more secure code, faster development and less headaches.
It is hard to criticize Linus, because the alternatives to C until now have been quite crappy, for what he is doing. But we are increasingly seeing good candidates.
As to how Kernels should be written. I am not sure the C-ish way is wrong. It should simply be written in a C-ish way in a safer and more modern language.
And C macros I would regard more as a disease than a feature. Most modern languages seek to avoid having anything ressembling the C preprocessor. It is simply a source of too many problems and bugs.