[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 04/16] linux-user: support SO_PASSSEC setsockopt
From: |
Paul Burton |
Subject: |
Re: [Qemu-devel] [PATCH 04/16] linux-user: support SO_PASSSEC setsockopt option |
Date: |
Sat, 21 Jun 2014 18:46:57 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Sat, Jun 21, 2014 at 01:59:33PM +0300, Riku Voipio wrote:
> On Sun, Jun 15, 2014 at 05:18:21PM +0100, Paul Burton wrote:
> > Translate the SO_PASSSEC option to setsockopt to the host value &
> > perform the syscall as expected, allowing use of the option by target
> > programs.
>
> Another file that is a total mess in linux-user tree.. This should be
> split out to arch specific header files - but that's for another patch.
> For this patch - the value for sparc SO_PASSEC should be set, since
> it's different from others:
>
> http://lxr.free-electrons.com/source/arch/sparc/include/uapi/asm/socket.h#L51
Good catch, and it looks like the same is true of some other already
incorrect options for sparc (SO_PEERSEC, SO_BINDTODEVICE at least at a
glance).
Paul
>
> > Signed-off-by: Paul Burton <address@hidden>
> > ---
> > linux-user/socket.h | 2 ++
> > linux-user/syscall.c | 3 +++
> > 2 files changed, 5 insertions(+)
> >
> > diff --git a/linux-user/socket.h b/linux-user/socket.h
> > index ae17959..289c6ac 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
> > *
> > @@ -298,6 +299,7 @@
> > #define TARGET_SO_ACCEPTCONN 30
> >
> > #define TARGET_SO_PEERSEC 31
> > + #define TARGET_SO_PASSSEC 34
> >
> > #endif
> >
> > diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> > index 679d165..b507f81 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
> >
signature.asc
Description: Digital signature
- [Qemu-devel] [PATCH 00/16] linux-user fixes & improvements, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 01/16] linux-user: translate the result of getsockopt SO_TYPE, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 02/16] linux-user: support SO_ACCEPTCONN getsockopt option, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 03/16] linux-user: support SO_{SND, RCV}BUFFORCE setsockopt options, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 04/16] linux-user: support SO_PASSSEC setsockopt option, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 05/16] linux-user: allow NULL arguments to mount, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 06/16] linux-user: support strace of epoll_create1, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 07/16] linux-user: fix struct target_epoll_event layout for MIPS, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 08/16] linux-user: respect timezone for settimeofday, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 09/16] linux-user: allow NULL tv argument for settimeofday, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 10/16] linux-user: support timerfd_{create, gettime, settime} syscalls, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 11/16] linux-user: support ioprio_{get, set} syscalls, Paul Burton, 2014/06/15