diff mbox

[v2,04/16] linux-user: support SO_PASSSEC setsockopt option

Message ID 1403391191-18603-5-git-send-email-paul@archlinuxmips.org
State New
Headers show

Commit Message

Paul Burton June 21, 2014, 10:52 p.m. UTC
Translate the SO_PASSSEC option to setsockopt to the host value &
perform the syscall as expected, allowing use of the option by target
programs.

Signed-off-by: Paul Burton <paul@archlinuxmips.org>
---
Changes in v2:
  - Fix the value of TARGET_SO_PASSSEC for the sparc target.
---
 linux-user/socket.h  | 5 +++++
 linux-user/syscall.c | 3 +++
 2 files changed, 8 insertions(+)
diff mbox

Patch

diff --git a/linux-user/socket.h b/linux-user/socket.h
index ae17959..4dacae6 100644
--- a/linux-user/socket.h
+++ b/linux-user/socket.h
@@ -63,6 +63,7 @@ 
     #define TARGET_SO_PEERSEC              30
     #define TARGET_SO_SNDBUFFORCE          31
     #define TARGET_SO_RCVBUFFORCE          33
+    #define TARGET_SO_PASSSEC              34
 
     /** sock_type - Socket types
      *
@@ -242,6 +243,10 @@ 
 
     #define TARGET_SOCK_MAX (TARGET_SOCK_PACKET + 1)
     #define TARGET_SOCK_TYPE_MASK    0xf  /* Covers up to TARGET_SOCK_MAX-1. */
+
+    #define TARGET_SO_PASSSEC        31
+#else
+    #define TARGET_SO_PASSSEC        34
 #endif
 
     /* For setsockopt(2) */
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index ce1ea1f..7da21c7 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -1529,6 +1529,9 @@  set_timeout:
         case TARGET_SO_PASSCRED:
 		optname = SO_PASSCRED;
 		break;
+        case TARGET_SO_PASSSEC:
+		optname = SO_PASSSEC;
+		break;
         case TARGET_SO_TIMESTAMP:
 		optname = SO_TIMESTAMP;
 		break;