Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a623a7a1 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by David S. Miller
Browse files

y2038: fix socket.h header inclusion



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: default avatarLaura Abbott <labbott@redhat.com>
Fixes: a9beb86a ("sock: Add SO_RCVTIMEO_NEW and SO_SNDTIMEO_NEW")
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a843dc4e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2,8 +2,8 @@
#ifndef _UAPI_ASM_SOCKET_H
#define _UAPI_ASM_SOCKET_H

#include <linux/posix_types.h>
#include <asm/sockios.h>
#include <asm/bitsperlong.h>

/* For setsockopt(2) */
/*
+1 −1
Original line number Diff line number Diff line
@@ -10,8 +10,8 @@
#ifndef _UAPI_ASM_SOCKET_H
#define _UAPI_ASM_SOCKET_H

#include <linux/posix_types.h>
#include <asm/sockios.h>
#include <asm/bitsperlong.h>

/*
 * For setsockopt(2)
+1 −1
Original line number Diff line number Diff line
@@ -2,8 +2,8 @@
#ifndef _UAPI_ASM_SOCKET_H
#define _UAPI_ASM_SOCKET_H

#include <linux/posix_types.h>
#include <asm/sockios.h>
#include <asm/bitsperlong.h>

/* For setsockopt(2) */
#define SOL_SOCKET	0xffff
+1 −1
Original line number Diff line number Diff line
@@ -2,8 +2,8 @@
#ifndef _ASM_SOCKET_H
#define _ASM_SOCKET_H

#include <linux/posix_types.h>
#include <asm/sockios.h>
#include <asm/bitsperlong.h>

/* For setsockopt(2) */
#define SOL_SOCKET	0xffff
+1 −1
Original line number Diff line number Diff line
@@ -2,8 +2,8 @@
#ifndef __ASM_GENERIC_SOCKET_H
#define __ASM_GENERIC_SOCKET_H

#include <linux/posix_types.h>
#include <asm/sockios.h>
#include <asm/bitsperlong.h>

/* For setsockopt(2) */
#define SOL_SOCKET	1