[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <200607162249.25641.a1426z@gawab.com>
Date: Sun, 16 Jul 2006 22:49:25 +0300
From: Al Boldi <a1426z@...ab.com>
To: Chuck Ebbert <76306.1226@...puserve.com>
Cc: Frank van Maarseveen <frankvm@...nkvm.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
Arjan van de Ven <arjan@...radead.org>,
Andi Kleen <ak@...e.de>
Subject: Re: [PATCH] x86: Don't randomize stack unless current->personality permits it
Chuck Ebbert wrote:
> On Sat, 15 Jul 2006 17:09:45 +0300, Al Boldi wrote:
> > Randomization on. Executable runs with 8x blips/hits.
> > Randomization off. Executable runs without blips/hits.
> > With randomization off, a mere rename causes an 8x-slowdown to occur.
> > Run this renamed executable through sh -c ./tstExec, and the slowdown
> > disappears. Really weired :)
>
> Does this help at all? I don't have a space heater^W^WPentium IV
> to test on.
P4 is not a space heater, it's a stove.
> --- 2.6.18-rc1-nb.orig/arch/i386/kernel/process.c
> +++ 2.6.18-rc1-nb/arch/i386/kernel/process.c
> @@ -890,5 +890,5 @@ unsigned long arch_align_stack(unsigned
> {
> if (randomize_va_space)
> sp -= get_random_int() % 8192;
> - return sp & ~0xf;
> + return sp & ~0x7f;
> }
Thanks! That did the trick!
The weirdness is completely gone, as are the continuous slowdowns, but I
still get these:
on mdk9.1/gcc3.2.2/2.6.17.4
# gcc -O3 tstExec.c
# echo 0 > /proc/sys/kernel/randomize_va_space
# while :; do ./a.out;done
5 5 5 5 5 5 13 5 13 5 msec
5 5 5 5 5 5 13 5 6 5 msec
5 5 5 5 5 5 7 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 13 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 6 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 13 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
5 5 5 5 5 5 5 5 6 5 msec
on mdk9.1/gcc3.2.2/2.6.17.4
# gcc -O3 tstExec.c
# echo 1 > /proc/sys/kernel/randomize_va_space
# while :; do ./a.out;done
5 5 5 5 5 5 13 5 13 5 msec
5 5 5 6 5 5 13 5 13 5 msec
5 5 5 5 5 5 13 5 6 5 msec
5 5 5 5 5 5 13 5 13 5 msec
5 5 5 5 5 5 6 5 6 5 msec
5 5 5 5 5 5 13 5 13 5 msec
5 5 5 5 5 5 13 5 13 5 msec
5 5 5 5 5 5 11 5 13 5 msec
5 5 5 5 5 5 13 5 13 5 msec
5 5 5 5 5 5 13 5 13 5 msec
5 5 6 5 5 5 13 5 13 5 msec
5 5 5 5 5 5 6 5 6 5 msec
5 5 5 5 5 5 6 5 6 5 msec
5 5 5 5 5 5 6 5 6 5 msec
5 5 5 5 5 5 13 5 6 5 msec
5 5 5 5 5 5 6 5 13 5 msec
5 5 5 5 5 5 13 5 13 5 msec
5 5 5 5 5 5 13 5 6 5 msec
5 5 5 5 5 5 6 5 6 5 msec
5 5 5 5 5 5 6 5 13 5 msec
5 5 5 5 5 5 13 5 13 5 msec
5 5 5 5 5 5 6 5 6 5 msec
5 5 5 5 5 5 6 5 13 5 msec
5 5 5 5 5 5 6 5 6 5 msec
5 5 5 5 5 5 13 5 6 5 msec
5 5 5 5 5 5 13 5 7 5 msec
5 5 5 5 5 5 13 5 13 5 msec
5 5 5 5 5 5 6 5 6 5 msec
5 5 5 5 5 5 6 5 6 5 msec
on rhel4/gcc4.0.1/2.6.17.4
# gcc -O3 tstExec.c
# echo 0 > /proc/sys/kernel/randomize_va_space
# while :; do ./a.out;done
5 5 5 5 5 5 5 5 5 5 msec
13 13 13 13 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
6 6 6 6 6 6 6 6 6 6 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
13 13 13 13 13 13 13 13 13 13 msec
5 5 5 5 5 5 5 5 5 5 msec
13 13 13 13 13 13 13 13 13 13 msec
13 13 13 13 13 13 13 13 13 13 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
13 13 13 13 13 13 13 13 13 13 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 6 5 5 5 5 5 5 5 5 msec
on rhel4/gcc4.0.1/2.6.17.4
# gcc -O3 tstExec.c
# echo 1 > /proc/sys/kernel/randomize_va_space
# while :; do ./a.out;done
13 13 13 13 13 13 13 13 13 13 msec
13 13 13 13 13 13 13 13 13 13 msec
5 5 5 5 5 5 5 5 5 5 msec
13 13 13 13 13 13 13 12 5 5 msec
13 13 13 13 13 13 13 13 13 13 msec
13 13 13 13 13 13 13 13 13 13 msec
13 13 13 13 13 13 13 13 13 14 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
13 13 13 13 13 13 13 13 13 13 msec
13 13 13 13 13 13 13 13 13 13 msec
5 5 5 5 5 5 5 5 5 5 msec
13 13 13 13 13 13 13 13 13 13 msec
5 5 5 5 5 5 5 5 5 5 msec
13 13 13 13 13 13 13 13 13 13 msec
5 5 5 5 5 5 5 5 5 5 msec
13 13 13 13 13 13 13 13 13 14 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
5 5 5 5 5 5 5 5 5 5 msec
13 13 13 13 13 13 13 13 13 13 msec
5 5 5 5 5 5 5 5 5 5 msec
13 13 13 13 13 13 13 13 13 13 msec
Thanks again!
--
Al
-
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