lkml.org 
[lkml]   [2002]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] Re: export of sys_call_table
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);
}

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

\
 
 \ /
  Last update: 2005-03-22 13:29    [W:0.041 / U:0.644 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site