John,

Well, whoever made changes between 2.16.14 and 2.16.15 broke module
("module" as opposed to "driver") demand loading altogether.  Which
is where I started having problems.

In 2.16.14 if lis_findmod could not find a module by name and KMOD
is configured, it would attempt to load module "streams-%s".

In 2.16.15 forward, if the module is not found, it is never loaded.

I'm patching back to the 2.16.14 lis_findmod.  I'll send a patch in
a little while.

--brian

On Sun, 15 Feb 2004, John A. Boyd Jr. wrote:

> Let me restate in the form of a suggestion - instead of clearing
> the name, you might want to look at how to get the state change
> to work, so as to prevent this problem.  The author apparently
> intended clearing the _INITED state flag to have somewhat the
> effect as your clearing of the name...
> 
> -John
> 
> Brian F. G. Bidulock wrote:
> > There is a module loading bug in head/mod.c  When a module
> > is unregistered the f_name component is left alloing lis_findmod
> > to find it an lis_loadmod will attempt to lock a destroyed
> > semaphore.  The problem can be recreated by manually loading a
> > streams kernel module (modprobe), unloading it (rmmod) and then
> > demand loading it (e.g. I_PUSH).  The result is a kernel oops.
> > 
> > The patch below fixes the problem (but may break other things).
> > 
> > --brian
> > 
> > Index: head/mod.c
> > ===================================================================
> > RCS file: /home/common/cvsroot/LiSnew/head/mod.c,v
> > retrieving revision 1.1.1.4
> > diff -U3 -r1.1.1.4 mod.c
> > --- head/mod.c      22 Nov 2003 23:01:43 -0000      1.1.1.4
> > +++ head/mod.c      15 Feb 2004 18:05:31 -0000
> > @@ -742,6 +742,7 @@
> >      lis_up(&slot->f_sem) ;
> >      lis_sem_destroy(&slot->f_sem) ;
> >      slot->f_state &= ~LIS_MODSTATE_INITED ;
> > +    slot->f_name[0] = '\0';
> >  
> >      printk("STREAMS module \"%s\" unregistered, id %d\n", name, id);
> >  
> > 
> 
> _______________________________________________
> Linux-streams mailing list
> [EMAIL PROTECTED]
> http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams

-- 
Brian F. G. Bidulock    � The reasonable man adapts himself to the �
[EMAIL PROTECTED]    � 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 �
_______________________________________________
Linux-streams mailing list
[EMAIL PROTECTED]
http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams

Reply via email to