From: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon, 11 Mar 2019 16:38:17 +0100 > Referencing the __kernel_long_t type caused some user space applications > to stop compiling when they had not already included linux/posix_types.h, > e.g. > > s/multicast.c -o ext/sockets/multicast.lo > In file included from /builddir/build/BUILD/php-7.3.3/main/php.h:468, > from /builddir/build/BUILD/php-7.3.3/ext/sockets/sockets.c:27: > /builddir/build/BUILD/php-7.3.3/ext/sockets/sockets.c: In function 'zm_startup_sockets': > /builddir/build/BUILD/php-7.3.3/ext/sockets/sockets.c:776:40: error: '__kernel_long_t' undeclared (first use in this function) > 776 | REGISTER_LONG_CONSTANT("SO_SNDTIMEO", SO_SNDTIMEO, CONST_CS | CONST_PERSISTENT); > > It is safe to include that header here, since it only contains kernel > internal types that do not conflict with other user space types. > > It's still possible that some related build failures remain, but those > are likely to be for code that is not already y2038 safe. > > Reported-by: Laura Abbott <labbott@xxxxxxxxxx> > Fixes: a9beb86ae6e5 ("sock: Add SO_RCVTIMEO_NEW and SO_SNDTIMEO_NEW") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Applied, thanks.