diff mbox

[PULL,v2,06/13] linux-user: support SO_PASSSEC setsockopt option

Message ID 82d0fe6b7a7384ed442b6a481ab33d442a06f5f1.1404041926.git.riku.voipio@linaro.org
State Accepted
Commit 82d0fe6b7a7384ed442b6a481ab33d442a06f5f1
Headers show

Commit Message

Riku Voipio June 29, 2014, 12:14 p.m. UTC
From: Paul Burton <paul@archlinuxmips.org>

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>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
---
 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 bdc60fe..3971cb5 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -1531,6 +1531,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;