[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20070131173656.GA5789@ccure.user-mode-linux.org>
Date: Wed, 31 Jan 2007 12:38:06 -0500
From: Jeff Dike <jdike@...toit.com>
To: unlisted-recipients:; (no To-header on input)
Cc: linux-kernel@...r.kernel.org
Subject: mm-search_binary_handler-mem-limit-fix is horribly broken
It works on i386 only by accident, and doesn't work at all with UML.
start_thread, which is called from inside the set_fs(USER_DS) -
set_fs(oldfs) does set_fs(USER_DS). That is then blown away by the
set_fs(oldfs).
A one-line fix might be
Index: linux-2.6.17/fs/exec.c
===================================================================
--- linux-2.6.17.orig/fs/exec.c 2007-01-31 12:10:08.000000000 -0500
+++ linux-2.6.17/fs/exec.c 2007-01-31 12:41:15.000000000 -0500
@@ -1079,6 +1079,7 @@ int search_binary_handler(struct linux_b
continue;
read_unlock(&binfmt_lock);
retval = fn(bprm, regs);
+ oldfs = get_fs();
if (retval >= 0) {
put_binfmt(fmt);
allow_write_access(bprm->file);
but this seems like it's pasting one kludge on top of another.
Jeff
--
Work email - jdike at linux dot intel dot com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists