On 06/24/2018 05:30 PM, Rich Felker wrote: > On Sun, Jun 24, 2018 at 05:18:39PM +0200, Matthias Schiffer wrote: >> Differing from all other archs supported by musl, MIPS defines SO_PEERSEC >> to 30 instead of 31. >> >> Reported-by: Andrey Jr. Mlenikov >> --- >> arch/mips/bits/socket.h | 2 ++ >> arch/mips64/bits/socket.h | 2 ++ >> arch/mipsn32/bits/socket.h | 2 ++ >> include/sys/socket.h | 3 +++ >> 4 files changed, 9 insertions(+) >> >> diff --git a/arch/mips/bits/socket.h b/arch/mips/bits/socket.h >> index 191ebdb5a418..39c42b822ac3 100644 >> --- a/arch/mips/bits/socket.h >> +++ b/arch/mips/bits/socket.h >> @@ -48,5 +48,7 @@ struct cmsghdr { >> #define SO_SNDBUFFORCE 31 >> #define SO_RCVBUFFORCE 33 >> >> +#define SO_PEERSEC 30 >> + >> #define SOCK_NONBLOCK 0200 >> #define SOCK_CLOEXEC 02000000 >> diff --git a/arch/mips64/bits/socket.h b/arch/mips64/bits/socket.h >> index cf801797beb0..39b764df4c62 100644 >> --- a/arch/mips64/bits/socket.h >> +++ b/arch/mips64/bits/socket.h >> @@ -64,5 +64,7 @@ struct cmsghdr { >> #define SO_SNDBUFFORCE 31 >> #define SO_RCVBUFFORCE 33 >> >> +#define SO_PEERSEC 30 >> + >> #define SOCK_NONBLOCK 0200 >> #define SOCK_CLOEXEC 02000000 >> diff --git a/arch/mipsn32/bits/socket.h b/arch/mipsn32/bits/socket.h >> index 191ebdb5a418..39c42b822ac3 100644 >> --- a/arch/mipsn32/bits/socket.h >> +++ b/arch/mipsn32/bits/socket.h >> @@ -48,5 +48,7 @@ struct cmsghdr { >> #define SO_SNDBUFFORCE 31 >> #define SO_RCVBUFFORCE 33 >> >> +#define SO_PEERSEC 30 >> + >> #define SOCK_NONBLOCK 0200 >> #define SOCK_CLOEXEC 02000000 >> diff --git a/include/sys/socket.h b/include/sys/socket.h >> index 507da5cc2a40..6b6cf2fc3988 100644 >> --- a/include/sys/socket.h >> +++ b/include/sys/socket.h >> @@ -203,7 +203,10 @@ struct linger { >> #define SO_TIMESTAMP 29 >> #define SCM_TIMESTAMP SO_TIMESTAMP >> >> +#ifndef SO_PEERSEC >> #define SO_PEERSEC 31 >> +#endif >> + >> #define SO_PASSSEC 34 >> #define SO_TIMESTAMPNS 35 >> #define SCM_TIMESTAMPNS SO_TIMESTAMPNS >> -- >> 2.18.0 > > Should we perhaps do this under the SO_DEBUG conditional like all the > other SO_* that vary by arch? Doing so would require adding > definitions to the other weird archs (ibm ones) but might be cleaner > in the top-level header -- I'm not sure. > > Rich > That would actually make sense. I did not research what SO_PEERSEC even is before I sent the patch; only know I noticed that both the constants defined under SO_DEBUG and the others below the #endif are SOL_SOCKET, so it would be more consistent to move it under SO_DEBUG as well. Matthias