The reply of the guy Linus is addressing is worth a read: <a href="https://lkml.org/lkml/2018/3/20/871" rel="nofollow">https://lkml.org/lkml/2018/3/20/871</a>
I didn't believe it would work but it does. It boils down to<p><pre><code> sizeof(int) == sizeof(void)
</code></pre>
vs<p><pre><code> sizeof(int) == sizeof(int)
</code></pre>
As a non-standard extension, in gcc (and thus clang and icc for compatibility, it seems) void has a size of 1. In a conforming compiler, it's an error.