summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2006-07-10 04:45:16 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-10 13:24:24 -0700
commit2d77f6fcf841261796f01cba19b4ea1ad8713936 (patch)
tree4a6d2cc0d241c408d0b65b1a5aead845d8072caa
parent03a3f824eae944e9d3649cbccf874e7fbe228477 (diff)
[PATCH] uml: make mconsole version requests happen in a process
Handling a host mconsole version request must be done in a process context rather than interrupt context now that utsname information can be process-specific rather than global. Signed-off-by: Jeff Dike <jdike@addtoit.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/um/drivers/mconsole_user.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/um/drivers/mconsole_user.c b/arch/um/drivers/mconsole_user.c
index 4b109fe7fff..9bfd405c3bd 100644
--- a/arch/um/drivers/mconsole_user.c
+++ b/arch/um/drivers/mconsole_user.c
@@ -18,7 +18,12 @@
#include "umid.h"
static struct mconsole_command commands[] = {
- { "version", mconsole_version, MCONSOLE_INTR },
+ /* With uts namespaces, uts information becomes process-specific, so
+ * we need a process context. If we try handling this in interrupt
+ * context, we may hit an exiting process without a valid uts
+ * namespace.
+ */
+ { "version", mconsole_version, MCONSOLE_PROC },
{ "halt", mconsole_halt, MCONSOLE_PROC },
{ "reboot", mconsole_reboot, MCONSOLE_PROC },
{ "config", mconsole_config, MCONSOLE_PROC },