Messages in this thread Patch in this message | | | From | Keith Owens <> | Subject | Re: boottime "VFS: file-max limit 4096/8192 reached": module problem! | Date | Thu, 23 Dec 1999 13:40:37 +1100 |
| |
On Wed, 22 Dec 1999 23:54:30 +0100, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote: >I noticed this problem some time ago -- my Alpha Oopsed sometimes at boot-up, >"so I recompiled with "Magic SysRQ enabled and found hundreds of modprobes. >I haven't had time to track down who needs domain sockets, but because there >are so many modprobe's running, it's maybe a problem with modprobe itself.
Chicken and egg problem. modprobe uses syslog which needs Unix sockets which triggers kmod to load net-pf-1 which calls modprobe ... This patch from Maciej W. Rozycki against modutils 2.3.[78] is a temporary workaround. I'm looking for a more general fix to detect kmod recursion, but it looks like it can only be fixed with kernel changes.
diff -u --recursive --new-file modutils-2.3.7.macro/insmod/modprobe.c modutils-2.3.7/insmod/modprobe.c --- modutils-2.3.7.macro/insmod/modprobe.c Sun Oct 17 08:47:36 1999 +++ modutils-2.3.7/insmod/modprobe.c Fri Dec 10 03:39:21 1999 @@ -1466,7 +1466,16 @@ break; case 's': - setsyslog("modprobe"); + /* + * If we are asked for net-pf-1 (aka unix) then syslogd + * is definitely not running, but calling syslog() + * would make Linux call request_module("net-pf-1") + * again, resulting in something like a forkbomb. So + * we do not enable logging. + * Not a very clean solution but it works. + */ + if (strcmp(argv[argc - 1], "net-pf-1")) + setsyslog("modprobe"); break; case 'C':
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |