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 > >
signature.asc
Description: Digital signature