From: Arnd Bergmann <a...@arndb.de>
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 <labb...@redhat.com>
> Fixes: a9beb86ae6e5 ("sock: Add SO_RCVTIMEO_NEW and SO_SNDTIMEO_NEW")
> Signed-off-by: Arnd Bergmann <a...@arndb.de>

Applied, thanks.

Reply via email to