I found a bug in 2.1.23 today that was giving me a null pointer oops any
time I tried to load a module after I loaded ipv6. I tracked it down to
some code in kernel/module.c that was traversing the symbol
list but incrementing a pointer twice. I imagine it was just an
oversight.
It looks like the code only gets called when the symbol table for a module
is large, so it was only tickled by ipv6's symbols.
This bug may be present in earlier/other versions as well?
Here's the patch:
--- kernel/module.c.orig Mon Jan 27 09:18:04 1997
+++ kernel/module.c Mon Jan 27 14:32:59 1997
@@ -583,7 +583,7 @@
calc_space_needed:
for (; i < mod->nsyms; ++i, ++s)
- space += strlen((++s)->name)+1;
+ space += strlen(s->name)+1;
if (put_user(space, ret))
return -EFAULT;
-- John Callahan <jcallaha@willamette.edu> |Assistant Director, Network Services Willamette Integrated Technology Services|Willamette University, Salem, OR, USA Phone: (503) 375-5495 Fax: (503) 375-5456|http://www.willamette.edu/~jcallaha
Adam
-- He feeds on ashes; a deluded mind has led him Adam Bradley, UNCA Senior astray, and he cannot deliver himself or say, Computer Science "Is there not a lie in my right hand?" Isaiah 44:20 bradley@cs.unca.edu http://www.cs.unca.edu/~bradley <><