[BusyBox-cvs] busybox/modutils insmod.c,1.101,1.102

Glenn McGrath bug1 at busybox.net
Sun Aug 31 01:58:22 UTC 2003


Update of /var/cvs/busybox/modutils
In directory winder:/tmp/cvs-serv20321/modutils

Modified Files:
	insmod.c 
Log Message:
"insmod caches the symbolname in a variable before modifying it and uses 
the cached value afterwards." - Jean Wolter


Index: insmod.c
===================================================================
RCS file: /var/cvs/busybox/modutils/insmod.c,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -d -r1.101 -r1.102
--- insmod.c	30 Aug 2003 06:00:33 -0000	1.101
+++ insmod.c	31 Aug 2003 01:58:18 -0000	1.102
@@ -1942,7 +1942,7 @@
 		   argument initialization.  We will also create a false
 		   dependency on the module.  */
 		struct obj_symbol *sym;
-		char *name = (char *)s->name;
+		char *name;
 
 		/* GPL licensed modules can use symbols exported with
 		 * EXPORT_SYMBOL_GPL, so ignore any GPLONLY_ prefix on the
@@ -1956,6 +1956,7 @@
 			else
 				continue;
 		}
+		name = (char *)s->name;
 
 #ifdef SYMBOL_PREFIX
 		/* Prepend SYMBOL_PREFIX to the symbol's name (the
@@ -4129,6 +4130,14 @@
 
 	printf("Using %s\n", m_filename);
 
+#ifdef CONFIG_FEATURE_REALLY_NEW_MODULE_INTERFACE
+    if (create_module(NULL, 0) < 0 && errno == ENOSYS) {
+		optind--;
+		argv[optind] = m_filename;
+		return insmod_ng_main(argc - optind, argv + optind);
+    }
+#endif
+
 	if ((f = obj_load(fp, LOADBITS)) == NULL)
 		bb_perror_msg_and_die("Could not load the module");
 




More information about the busybox-cvs mailing list