Re: [PATCH] Re: export of sys_call_table

From: Brian F. G. Bidulock (bidulock@openss7.org)
Date: Wed Oct 09 2002 - 14:54:42 EST


Petr,

Thanks you for the constructive suggestions. I'll see if we
can add those in an test it up.

--brian

On Wed, 09 Oct 2002, Petr Vandrovec wrote:

> On 8 Oct 02 at 18:21, Brian F. G. Bidulock wrote:
> > --- kernel/sys.c.orig 2002-08-02 19:39:46.000000000 -0500
> > +++ kernel/sys.c 2002-10-08 16:46:55.000000000 -0500
> ...
>
> I believe that you should check that nobody else has registered its
> own streams module. You can also allow for multiple streams modules
> in parallel (and fall through when module returns on -ENOIOCTLCMD or -ENOTTY),
> but I believe that usually only one module will be registered.
>
> And I believe that export symbols should NOT be _GPL_ONLY: before
> (non-GPL) export of syscall_table was available, non-GPL modules were
> able to hook syscalls, and when _GPL_ONLY was introduced into kernel
> it was promised that we'll never make currently provided functionality
> GPL-only (as far as I remember).
> Best regards,
> Petr Vandrovec
>
> int register_streams_calls(...)
> > +void register_streams_calls(int (*putpmsg) (int, void *, void *, int, int),
> > + int (*getpmsg) (int, void *, void *, int, int))
> > +{
>
> int err;
> if (!putpmsg || !getpmsg) return -EINVAL;
>
> > + down_write(&streams_call_sem);
>
> err = -EBUSY;
> if (!do_putpmsg) {
> err = 0;
>
> > + do_putpmsg = putpmsg;
> > + do_getpmsg = getpmsg;
>
> }
>
> > + up_write(&streams_call_sem);
>
> return err;
>
> > +}
> > +
> > +void unregister_streams_calls(void)
> > +{
>
> down_write(&streams_call_sem);
> do_putpmsg = NULL;
> do_getpmsg = NULL;
> up_write(&streams_call_sem);
> }
>

-- 
Brian F. G. Bidulock     The reasonable man adapts himself to the 
bidulock@openss7.org     world; the unreasonable one persists in  
http://www.openss7.org/  trying  to adapt the  world  to himself. 
                         Therefore  all  progress  depends on the 
                         unreasonable man. -- George Bernard Shaw 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:33 EST