2.1.23: bug in kernel/module.c (patch included)

John Callahan (jcallaha@willamette.edu)
Mon, 27 Jan 1997 15:12:14 -0800 (PST)


Hi Kernel Hackers -

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      <><