NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/40110: null, overlay and umap modules loading -> panic (layerfs symbols not there)



>Number:         40110
>Category:       kern
>Synopsis:       null, overlay and umap modules loading -> panic (layerfs 
>symbols not there)
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Dec 05 05:55:00 +0000 2008
>Originator:     Juan RP
>Release:        Latest
>Organization:
>Environment:
>Description:
Loading any of null, overlay or umap modules will cause a panic instantly.
The missing symbols are provided by layerfs on sys/miscfs/genfs/layer_*.

I've found two ways to fix them:

* Make a new module for layerfs and depend on it in affected modules.
* Build those modules with layerfs code built in. Once you load any
  of them those symbols will be there for the other ones.

I used the second option on my patch. Probably the first option is the
best way to fix this, and I could provide a patch if requested; but not
sure if it should be a module, because it's not a real fs after all.
>How-To-Repeat:
mount_nullfs /blah /foo -> panic
>Fix:
Index: null/Makefile
===================================================================
RCS file: /cvsroot/src/sys/modules/null/Makefile,v
retrieving revision 1.1
diff -b -u -p -r1.1 Makefile
--- null/Makefile       24 Nov 2008 11:26:49 -0000      1.1
+++ null/Makefile       5 Dec 2008 05:34:07 -0000
@@ -6,5 +6,6 @@
 
 KMOD=  null
 SRCS=  null_vfsops.c null_vnops.c
+SRCS+= layer_vfsops.c layer_vnops.c layer_subr.c
 
 .include <bsd.kmodule.mk>
Index: overlay/Makefile
===================================================================
RCS file: /cvsroot/src/sys/modules/overlay/Makefile,v
retrieving revision 1.1
diff -b -u -p -r1.1 Makefile
--- overlay/Makefile    28 Jun 2008 16:11:36 -0000      1.1
+++ overlay/Makefile    5 Dec 2008 05:34:07 -0000
@@ -6,5 +6,6 @@
 
 KMOD=  overlay
 SRCS=  overlay_vfsops.c overlay_vnops.c
+SRCS+= layer_vfsops.c layer_vnops.c layer_subr.c
 
 .include <bsd.kmodule.mk>
Index: umap/Makefile
===================================================================
RCS file: /cvsroot/src/sys/modules/umap/Makefile,v
retrieving revision 1.1
diff -b -u -p -r1.1 Makefile
--- umap/Makefile       24 Nov 2008 11:26:49 -0000      1.1
+++ umap/Makefile       5 Dec 2008 05:34:07 -0000
@@ -2,9 +2,10 @@
 
 .include "../Makefile.inc"
 
-.PATH: ${S}/miscfs/umapfs
+.PATH: ${S}/miscfs/umapfs ${S}/miscfs/genfs
 
 KMOD=  umap
 SRCS=  umap_vfsops.c umap_vnops.c umap_subr.c
+SRCS+= layer_vfsops.c layer_vnops.c layer_subr.c
 
 .include <bsd.kmodule.mk>



Home | Main Index | Thread Index | Old Index