aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@vrfy.org>2007-08-15 09:38:28 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2007-10-12 17:51:01 -0400
commit6a8d8abb6e4497ae4132a9b1f0a956ea501f1c46 (patch)
treef1951698261d20dab965e4595d84560f533ab14d
parent7eff2e7a8b65c25920207324e56611150eb1cd9a (diff)
Driver core: add CONFIG_UEVENT_HELPER_PATH
The kernel creates a process for every event that is send, even when there is no binary it could execute. We are needlessly creating around 200-300 failing processes during early bootup, until we have the chance to disable it from userspace. This change allows us to disable /sbin/hotplug entirely, if you want to, by setting UEVENT_HELPER_PATH="" in the kernel config. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/base/Kconfig8
-rw-r--r--lib/kobject_uevent.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
index 5d6312e3349..d7da109c24f 100644
--- a/drivers/base/Kconfig
+++ b/drivers/base/Kconfig
@@ -1,5 +1,13 @@
1menu "Generic Driver Options" 1menu "Generic Driver Options"
2 2
3config UEVENT_HELPER_PATH
4 string "path to uevent helper"
5 depends on HOTPLUG
6 default "/sbin/hotplug"
7 help
8 Path to uevent helper program forked by the kernel for
9 every uevent.
10
3config STANDALONE 11config STANDALONE
4 bool "Select only drivers that don't need compile-time external firmware" if EXPERIMENTAL 12 bool "Select only drivers that don't need compile-time external firmware" if EXPERIMENTAL
5 default y 13 default y
diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
index 7d8aeb30163..5ccda460262 100644
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
@@ -35,7 +35,7 @@ const char *kobject_actions[] = {
35 35
36#if defined(CONFIG_HOTPLUG) 36#if defined(CONFIG_HOTPLUG)
37u64 uevent_seqnum; 37u64 uevent_seqnum;
38char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug"; 38char uevent_helper[UEVENT_HELPER_PATH_LEN] = CONFIG_UEVENT_HELPER_PATH;
39static DEFINE_SPINLOCK(sequence_lock); 39static DEFINE_SPINLOCK(sequence_lock);
40#if defined(CONFIG_NET) 40#if defined(CONFIG_NET)
41static struct sock *uevent_sock; 41static struct sock *uevent_sock;