Le 04/02/2021 à 16:39, Jason A. Donenfeld a écrit : > These were defined for other platforms but mistakenly left out of mips > and generic, so this commit adds them to the places missing. Then it > makes them be translated in getsockopt. > > Signed-off-by: Jason A. Donenfeld <ja...@zx2c4.com> > --- > linux-user/generic/sockbits.h | 3 +++ > linux-user/mips/sockbits.h | 2 ++ > linux-user/syscall.c | 6 ++++++ > 3 files changed, 11 insertions(+) > > diff --git a/linux-user/generic/sockbits.h b/linux-user/generic/sockbits.h > index e44733c601..b3b4a8e44c 100644 > --- a/linux-user/generic/sockbits.h > +++ b/linux-user/generic/sockbits.h > @@ -55,4 +55,7 @@ > #define TARGET_SO_ACCEPTCONN 30 > > #define TARGET_SO_PEERSEC 31 > + > +#define TARGET_SO_PROTOCOL 38 > +#define TARGET_SO_DOMAIN 39 > #endif > diff --git a/linux-user/mips/sockbits.h b/linux-user/mips/sockbits.h > index 0f022cd598..562cad88e2 100644 > --- a/linux-user/mips/sockbits.h > +++ b/linux-user/mips/sockbits.h > @@ -40,6 +40,8 @@ > #define TARGET_SO_SNDTIMEO 0x1005 /* send timeout */ > #define TARGET_SO_RCVTIMEO 0x1006 /* receive timeout */ > #define TARGET_SO_ACCEPTCONN 0x1009 > +#define TARGET_SO_PROTOCOL 0x1028 /* protocol type */ > +#define TARGET_SO_DOMAIN 0x1029 /* domain/socket family */ > > /* linux-specific, might as well be the same as on i386 */ > #define TARGET_SO_NO_CHECK 11 > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > index 34760779c8..264b3265b1 100644 > --- a/linux-user/syscall.c > +++ b/linux-user/syscall.c > @@ -2832,6 +2832,12 @@ get_timeout: > case TARGET_SO_ACCEPTCONN: > optname = SO_ACCEPTCONN; > goto int_case; > + case TARGET_SO_PROTOCOL: > + optname = SO_PROTOCOL; > + goto int_case; > + case TARGET_SO_DOMAIN: > + optname = SO_DOMAIN; > + goto int_case; > default: > goto int_case; > } >
Reviewed-by: Laurent Vivier <laur...@vivier.eu>