On Thu, Feb 10, 2011 at 01:15:37PM +0100, Otto Moerbeek wrote:
> On Thu, Feb 10, 2011 at 02:08:07PM +0200, Paul Irofti wrote:
> 
> > This adds the mprotect syscall to the linux compat layer. This plus the
> > other time syscalls that went in will make the new versions of
> > applications such as Opera and Skype work.
> > 
> > Okay? 
> 
> maybe, but your timing is wrong, we're in ABI lock.

Hmm... well I guessed if the timing syscalls could go in so could this
one. I don't see a difference.

> 
>       -Otto
> 
> > 
> > Index: linux_misc.c
> > ===================================================================
> > RCS file: /cvs/src/sys/compat/linux/linux_misc.c,v
> > retrieving revision 1.65
> > diff -u -p -r1.65 linux_misc.c
> > --- linux_misc.c    26 Jul 2010 01:56:27 -0000      1.65
> > +++ linux_misc.c    7 Feb 2011 10:13:38 -0000
> > @@ -1474,3 +1474,13 @@ linux_sys_sysinfo(p, v, retval)
> >  
> >     return (copyout(&si, SCARG(uap, sysinfo), sizeof(si)));
> >  }
> > +
> > +int
> > +linux_sys_mprotect(struct proc *p, void *v, register_t *retval)
> > +{
> > +   struct sys_mprotect_args *uap = v;
> > +
> > +   if (SCARG(uap, prot) & (PROT_READ | PROT_WRITE | PROT_EXEC))
> > +           SCARG(uap, prot) |= PROT_READ | PROT_EXEC;
> > +   return (sys_mprotect(p, uap, retval));
> > +}
> > Index: syscalls.master
> > ===================================================================
> > RCS file: /cvs/src/sys/compat/linux/syscalls.master,v
> > retrieving revision 1.51
> > diff -u -p -r1.51 syscalls.master
> > --- syscalls.master 30 Jun 2010 21:54:12 -0000      1.51
> > +++ syscalls.master 7 Feb 2011 10:13:39 -0000
> > @@ -223,7 +223,7 @@
> >  123        STD             { int linux_sys_modify_ldt(void); }
> >  #endif
> >  124        STD             { int linux_sys_adjtimex(void); }
> > -125        NOARGS          { int sys_mprotect(caddr_t addr, int len, int 
> > prot); }
> > +125        STD             { int linux_sys_mprotect(caddr_t addr, int len, 
> > int prot); }
> >  126        STD             { int linux_sys_sigprocmask(int how, \
> >                         linux_old_sigset_t *set, linux_old_sigset_t *oset); 
> > }
> >  127        STD             { int linux_sys_create_module(void); }

Reply via email to