diff options
Diffstat (limited to 'source/a/module-init-tools/modprobe.no_sys_check.diff')
-rw-r--r-- | source/a/module-init-tools/modprobe.no_sys_check.diff | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/source/a/module-init-tools/modprobe.no_sys_check.diff b/source/a/module-init-tools/modprobe.no_sys_check.diff new file mode 100644 index 00000000..90e9a7d1 --- /dev/null +++ b/source/a/module-init-tools/modprobe.no_sys_check.diff @@ -0,0 +1,51 @@ +http://bugs.gentoo.org/258442 + +From 1a55ee5297b883ea4b43cdf74ad890873ebe966c Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Fri, 13 Feb 2009 02:21:10 -0500 +Subject: [PATCH] modprobe: remove pointless /sys requirement + +When modprobe was converted from parsing /proc to parsing /sys, it was not +a straight conversion. Instead, a "sanity" check was added early on where +modprobe would simply abort doing anything useful if /sys isn't mounted. +Unfortunately, this makes modprobe fairly unusable. Considering the +kernel itself can invoke modprobe before userspace gets a chance to start +the init process (and actually mount /sys), we end up with a chicken and +egg issue. Which gets even worse when the kernel keeps running modprobe +over and over and the boot output fills up with: +modprobe: FATAL: /sys is not mounted. +modprobe: FATAL: /sys is not mounted. +modprobe: FATAL: /sys is not mounted. +modprobe: FATAL: /sys is not mounted. +modprobe: FATAL: /sys is not mounted. +modprobe: FATAL: /sys is not mounted. + +Since modprobe itself is already written to handle the case where it +cannot figure out whether a given module is loaded (and so was able to run +perfectly fine without /proc being mounted), the check is wholly useless. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + modprobe.c | 5 ----- + 1 files changed, 0 insertions(+), 5 deletions(-) + +diff --git a/modprobe.c b/modprobe.c +index 022004c..110204b 100644 +--- a/modprobe.c ++++ b/modprobe.c +@@ -1522,11 +1522,6 @@ static void handle_module(const char *modname, + const char *cmdline_opts, + int flags) + { +- struct stat finfo; +- +- if (stat("/sys/module", &finfo) < 0) +- fatal("/sys is not mounted.\n"); +- + if (list_empty(todo_list)) { + const char *command; + +-- +1.6.1.3 + + |