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 <p...@archlinuxmips.org>
> > ---
> >  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