On Tuesday 2021-10-05 23:27, Linus Torvalds wrote: >On Tue, Oct 5, 2021 at 2:09 PM Jan Engelhardt <jengelh@xxxxxxx> wrote: >> >> Illegal. >> https://en.cppreference.com/w/c/language/conversion >> subsection "Pointer conversion" >> "No other guarantees are offered" > >Well, we happily end up casting pointers to 'unsigned long' and back, Yes, that wiki had only a succinct summary of pointer-pointer conversions. http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf section 6.3.2.3 (pdfpage 59) has the details, including pointer-integer conversions. >So it's not like the kernel deeply cares about theoretical portability. All things considered, that's good enough. Needless to say, how many times has the compiler changed and then someone complaind and someone else replied "standard told you so". ;-)