fix for the module problems in 2.1.11

David S. Miller (davem@jenolan.rutgers.edu)
Tue, 19 Nov 1996 08:22:29 -0500


This should clear up everything people are reporting with 2.1.11

--- net/netsyms.c.~1~ Tue Nov 19 02:23:56 1996
+++ net/netsyms.c Tue Nov 19 05:12:29 1996
@@ -60,9 +60,15 @@
extern void destroy_8023_client(struct datalink_proto *);
#endif

+extern char *skb_push_errstr;
+extern char *skb_put_errstr;

static struct symbol_table net_syms = {
#include <linux/symtab_begin.h>
+
+ /* Skbuff symbols. */
+ X(skb_push_errstr),
+ X(skb_put_errstr),

/* Socket layer registration */
X(sock_register),
--- kernel/module.c.~1~ Tue Nov 19 02:23:50 1996
+++ kernel/module.c Tue Nov 19 06:34:31 1996
@@ -106,7 +106,7 @@
return -EPERM;
if (module_name == NULL || size == 0)
return -EINVAL;
- if ((error = get_mod_name(module_name, name)) != 0)
+ if ((error = get_mod_name(module_name, name)) < 0)
return error;
if (find_module(name) != NULL) {
return -EEXIST;
@@ -168,7 +168,7 @@
symtab = NULL;
}
#endif
- if ((error = get_mod_name(module_name, name)) != 0)
+ if ((error = get_mod_name(module_name, name)) < 0)
return error;
pr_debug("initializing module `%s', %d (0x%x) bytes\n",
name, codesize, codesize);
@@ -292,7 +292,7 @@
return -EPERM;
/* else */
if (module_name != NULL) {
- if ((error = get_mod_name(module_name, name)) != 0)
+ if ((error = get_mod_name(module_name, name)) < 0)
return error;
if ((mp = find_module(name)) == NULL)
return -ENOENT;