Re: modules-2.1.13 segfault

Hans Lermen (lermen@elserv.ffm.fgan.de)
Fri, 6 Dec 1996 10:26:55 +0100 (MET)


On Fri, 6 Dec 1996, Ulf Jaenicke-Roessler wrote:

> I have a problem with modules-2.1.13. I updated from smoothly runnin'
> modules 2.0.0.
>
> 'modprobe vfat' leaves the vfat module uninitialized, same with msdos
> module. 'insmod fat' is ok but 'insmod vfat' segfaults.
> nfs, rd and floppy load ok, but binfmt_aout, binfmt_java and minix stay
> uninitialized.
>
> Did I miss a patch or some info? I use kernel v2.0.2[67].

Try the below patch:

Hans
<lermen@fgan.de>

--------------------------------------------------------------------------
--- modules-2.1.13.orig/insmod/load_elf.c Wed Nov 27 06:34:07 1996
+++ modules-2.1.13/insmod/load_elf.c Wed Dec 4 00:40:57 1996
@@ -622,7 +622,16 @@
}

loaded = (char *)(((int)loaded + 3) & ~3);
+#if 0 /* original 2.1.13 version */
if (bss_seg != -1){
+#else /*
+ * There _are_ some modules, which have secref[bss_seg] = NULL,
+ * because bss_size is set 0 by the linker. This happens with modules
+ * compiled for kernels 2.0.x. The same module compiled with the
+ * same compiler/linker for kernels 2.1.x do _not_ show this error.
+ */
+ if ((bss_seg != -1) && secref[bss_seg]){
+#endif
bss_size = loaded - secref[bss_seg];
}
progsize = codesize = loaded - textseg;
--------------------------------------------------------------------------