aboutsummaryrefslogtreecommitdiff
path: root/linux-user
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2021-02-04 16:39:25 +0100
committerLaurent Vivier <laurent@vivier.eu>2021-02-13 22:50:50 +0100
commitec63e06ef7edd8fb048fe41b901d68c888df9e6c (patch)
treec89f6b5b3f32a6093829555f2e18b455bf2e33fc /linux-user
parent4df7b7fac84ba570bb33970659296555896232b6 (diff)
linux-user: add TARGET_SO_{DOMAIN,PROTOCOL}
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 <Jason@zx2c4.com> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20210204153925.2030606-1-Jason@zx2c4.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'linux-user')
-rw-r--r--linux-user/generic/sockbits.h3
-rw-r--r--linux-user/mips/sockbits.h2
-rw-r--r--linux-user/syscall.c6
3 files changed, 11 insertions, 0 deletions
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 6fea00869e..36b0901055 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -2837,6 +2837,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;
}