From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51102) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WyUAT-0004uM-8g for qemu-devel@nongnu.org; Sat, 21 Jun 2014 18:53:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WyUAN-0005Yy-FU for qemu-devel@nongnu.org; Sat, 21 Jun 2014 18:53:53 -0400 Received: from mail-we0-x235.google.com ([2a00:1450:400c:c03::235]:61850) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WyUAN-0005Yb-8G for qemu-devel@nongnu.org; Sat, 21 Jun 2014 18:53:47 -0400 Received: by mail-we0-f181.google.com with SMTP id q59so5272720wes.12 for ; Sat, 21 Jun 2014 15:53:45 -0700 (PDT) Sender: Paul Burton From: Paul Burton Date: Sat, 21 Jun 2014 23:52:59 +0100 Message-Id: <1403391191-18603-5-git-send-email-paul@archlinuxmips.org> In-Reply-To: <1403391191-18603-1-git-send-email-paul@archlinuxmips.org> References: <1403391191-18603-1-git-send-email-paul@archlinuxmips.org> Subject: [Qemu-devel] [PATCH v2 04/16] linux-user: support SO_PASSSEC setsockopt option List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Riku Voipio , Paul Burton 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 --- 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 --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; -- 2.0.0