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
