public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
  • [parent not found: <20021003221525.GA2221@kroah.com.suse.lists.linux.kernel>]
  • * Re: [PATCH] Re: export of sys_call_table
    @ 2002-10-09 12:20 Petr Vandrovec
      2002-10-09 19:54 ` Brian F. G. Bidulock
      0 siblings, 1 reply; 28+ messages in thread
    From: Petr Vandrovec @ 2002-10-09 12:20 UTC (permalink / raw)
      To: Brian F. G. Bidulock; +Cc: linux-kernel, LiS, davem
    
    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);
    }
        
    
    ^ permalink raw reply	[flat|nested] 28+ messages in thread

    end of thread, other threads:[~2002-10-09 19:51 UTC | newest]
    
    Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <20021003153943.E22418@openss7.org.suse.lists.linux.kernel>
         [not found] ` <1033682560.28850.32.camel@irongate.swansea.linux.org.uk.suse.lists.linux.kernel>
         [not found]   ` <20021003170608.A30759@openss7.org.suse.lists.linux.kernel>
         [not found]     ` <1033722612.1853.1.camel@localhost.localdomain.suse.lists.linux.kernel>
         [not found]       ` <20021004051932.A13743@openss7.org.suse.lists.linux.kernel>
    2002-10-04 13:01         ` export of sys_call_table Andi Kleen
    2002-10-04 13:11           ` Brian F. G. Bidulock
    2002-10-04 13:15             ` Andi Kleen
    2002-10-04 13:22               ` Brian F. G. Bidulock
    2002-10-04 14:11                 ` Andi Kleen
    2002-10-04 14:31                   ` Brian F. G. Bidulock
         [not found] ` <20021003221525.GA2221@kroah.com.suse.lists.linux.kernel>
         [not found]   ` <20021003222716.GB14919@suse.de.suse.lists.linux.kernel>
         [not found]     ` <1033684027.1247.43.camel@phantasy.suse.lists.linux.kernel>
         [not found]       ` <20021003233504.GA20570@suse.de.suse.lists.linux.kernel>
         [not found]         ` <20021003235022.GA82187@compsoc.man.ac.uk.suse.lists.linux.kernel>
         [not found]           ` <mailman.1033691043.6446.linux-kernel2news@redhat.com.suse.lists.linux.kernel>
         [not found]             ` <200210040403.g9443Vu03329@devserv.devel.redhat.com.suse.lists.linux.kernel>
         [not found]               ` <20021003233221.C31444@openss7.org.suse.lists.linux.kernel>
         [not found]                 ` <20021004133657.B17216@devserv.devel.redhat.com.suse.lists.linux.kernel>
    2002-10-04 18:14                   ` Andi Kleen
    2002-10-04 18:46                     ` Alan Cox
    2002-10-04 18:45                       ` Alexander Viro
    2002-10-04 19:15                       ` Brian F. G. Bidulock
    2002-10-04 19:26                         ` Andi Kleen
    2002-10-04 19:37                         ` Pete Zaitcev
    2002-10-04 20:17                           ` (off-list) Mail headers (was: Re: export of sys_call_table) Sean Neakums
    2002-10-04 20:33                             ` Sean Neakums
    2002-10-04 19:43                         ` export of sys_call_table Robert Love
    2002-10-04 22:21                         ` David S. Miller
    2002-10-04 22:41                           ` Brian F. G. Bidulock
    2002-10-04 22:38                             ` David S. Miller
    2002-10-08 22:20                               ` [PATCH] " Brian F. G. Bidulock
    2002-10-08 22:27                                 ` Brian F. G. Bidulock
    2002-10-08 23:39                                   ` David S. Miller
    2002-10-08 23:18                                 ` David S. Miller
    2002-10-09  0:21                                   ` Brian F. G. Bidulock
    2002-10-09  0:00                                 ` Robert Love
         [not found]                               ` <mailman.1034119380.19047.linux-kernel2news@redhat.com>
    2002-10-09  0:30                                 ` Pete Zaitcev
    2002-10-09  0:40                                   ` Brian F. G. Bidulock
    2002-10-09 12:20 Petr Vandrovec
    2002-10-09 19:54 ` Brian F. G. Bidulock
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox