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