lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ