The patch titled uml: stack consumption reduction has been added to the -mm tree. Its filename is uml-stack-consumption-reduction.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: uml: stack consumption reduction From: Jeff Dike <jdike@xxxxxxxxxxx> Fix some stack abuse in the sysrq t path. Signed-off-by: Jeff Dike <jdike@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- arch/um/drivers/mconsole_kern.c | 15 ++++++++++----- arch/um/drivers/mconsole_user.c | 4 ++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff -puN arch/um/drivers/mconsole_kern.c~uml-stack-consumption-reduction arch/um/drivers/mconsole_kern.c --- a/arch/um/drivers/mconsole_kern.c~uml-stack-consumption-reduction +++ a/arch/um/drivers/mconsole_kern.c @@ -598,6 +598,11 @@ out: mconsole_reply(req, err_msg, err, 0); } +struct mconsole_output { + struct list_head list; + struct mc_request *req; +}; + static DEFINE_SPINLOCK(console_lock); static LIST_HEAD(clients); static char console_buf[MCONSOLE_MAX_DATA]; @@ -622,10 +627,10 @@ static void console_write(struct console return; list_for_each(ele, &clients){ - struct mconsole_entry *entry; + struct mconsole_output *entry; - entry = list_entry(ele, struct mconsole_entry, list); - mconsole_reply_len(&entry->request, console_buf, + entry = list_entry(ele, struct mconsole_output, list); + mconsole_reply_len(entry->req, console_buf, console_index, 0, 1); } @@ -649,10 +654,10 @@ late_initcall(mc_add_console); static void with_console(struct mc_request *req, void (*proc)(void *), void *arg) { - struct mconsole_entry entry; + struct mconsole_output entry; unsigned long flags; - entry.request = *req; + entry.req = req; list_add(&entry.list, &clients); spin_lock_irqsave(&console_lock, flags); diff -puN arch/um/drivers/mconsole_user.c~uml-stack-consumption-reduction arch/um/drivers/mconsole_user.c --- a/arch/um/drivers/mconsole_user.c~uml-stack-consumption-reduction +++ a/arch/um/drivers/mconsole_user.c @@ -131,6 +131,10 @@ int mconsole_get_request(int fd, struct int mconsole_reply_len(struct mc_request *req, const char *str, int total, int err, int more) { + /* XXX This is a stack consumption problem. It'd be nice to + * make it global and serialize access to it, but there are a + * ton of callers to this function. + */ struct mconsole_reply reply; int len, n; _ Patches currently in -mm which might be from jdike@xxxxxxxxxxx are origin.patch uml-assign-random-macs-to-interfaces-if-necessary.patch uml-mechanical-tidying-after-random-macs-change.patch uml-locking-documentation.patch uml-close-file-descriptor-leaks.patch uml-stack-consumption-reduction.patch uml-remove-pte_mkexec.patch simplify-update_times-avoid-jiffies-jiffies_64-aliasing-problem-2.patch kill-wall_jiffies.patch const-struct-tty_operations.patch namespaces-utsname-switch-to-using-uts-namespaces.patch introduce-kernel_execve.patch rename-the-provided-execve-functions-to-kernel_execve.patch provide-kernel_execve-on-all-architectures.patch provide-kernel_execve-on-all-architectures-fix.patch remove-the-use-of-_syscallx-macros-in-uml.patch sh64-remove-the-use-of-kernel-syscalls.patch remove-remaining-errno-and-__kernel_syscalls__-references.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html