qemu-devel
[Top][All Lists]
Advanced

[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
> > 

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]