All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Richard Moser <nigelenki@comcast.net>
To: John Richard Moser <nigelenki@comcast.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 2.6.16.16 Parameter-controlled mmap/stack randomization
Date: Fri, 19 May 2006 23:36:17 -0400	[thread overview]
Message-ID: <446E8EB1.60406@comcast.net> (raw)
In-Reply-To: <446E6A3B.8060100@comcast.net>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Oh, some of my stuff is 4096 hard-coded instead of PAGE_SIZE.  I fixed
this in mmap() randomization here, but there's iffiness coming up for
the stack.

The stack is page aligned and randomized in the VMA; then randomized to
16 byte intervals.  This is fine, PAGE_SIZE is 4096, our intervals are
16, 256 positions, we randomize 2^(stack_random_bits - 8) VMA and 2^8
inside; unless we have less than 8 bits, then we randomize
2^stack_random_bits and align to PAGE_SIZE / (2^stack_random_bits).

Easy enough.  Now what if PAGE_SIZE isn't 4096?

That's an easy problem too.  This can easily be calculated straight
forward with the number ... 8.  In fact that's how I did it.  2^8 is
4096 / 16.  Thus, the solution is log_base_2(PAGE_SIZE/16) instead of 8!

Now.  How do I find the base 2 log of a number in the kernel?

John Richard Moser wrote:
> Any comments on this one?
> 
> I'm trying to control the stack and heap randomization via command-line
> parameters.  I wrote this in a 2.6.15 Ubuntu Dapper kernel and then
> patched it into a 2.6.16.16 tree and cleaned it up.  It does a few
> simple things:
> 

[SNIP]

- --
All content of all messages exchanged herein are left in the
Public Domain, unless otherwise explicitly stated.

    Creative brains are a valuable, limited resource. They shouldn't be
    wasted on re-inventing the wheel when there are so many fascinating
    new problems waiting out there.
                                                 -- Eric Steven Raymond

    We will enslave their women, eat their children and rape their
    cattle!
                  -- Bosc, Evil alien overlord from the fifth dimension
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQIVAwUBRG6OsAs1xW0HCTEFAQLV4A/7BduRbAsWgvCy8ZMMRVYze33nkjGaK+o7
jd7EN7r+pcwr5EDKG4NdryTj+MdoSQJuAjy8eclaRFxJtu9jugE6e/q/wNlxRe9y
7q2mx4imNcrhVJ0TXKi6HL139lqON2kp4T4MlARLmwqy0zmtSjRGYUOAkxsYoXbp
5XvYe550O12caqGJvpWjPsv7hDMBSVmuo0i98SHCY9piafZtLl0rqgiVfRKicukq
ErmQd8UEhwjCwwqA34+6g9cR8107T6qvWucBqK4z9MDl65VrlnBQvzgdWb+Y6hDw
wUdX54E+si/1dsvUu9+cA9zZuHUeNOEaTPZB0Kirtdmkv5XRiorZ8PMjCLgFrhEW
05Vn2CmrJL7a+1bkOYBYal1eZbg2xgEKIeqE4SeMkkRdnmmr7BJwGh5h9LcMAVra
QCiMf7T4yV6qPLlYiuad/SUshel0YauTC63EcG4qO37Gx93amKgGyzCef2bVWc4T
iPOSG3YVIorrZIy1ZWOSQSfcmSappLx52vagbHYQOHKHtlBazz0elI730LDRQxCr
H4CfByfmf4GsoCWg7+aZ5awruh0Q8qXjLXRRunhhCBiz5Y3h+6uzh786Vuv13+Be
TuvVJ/ZYQrVKbpGvRXHYN6GC4Wx2Tl5HiMDLCvU0lVYMv+uH3c0b2eOfi7VpE5SZ
rimyC8GoqyA=
=jOSA
-----END PGP SIGNATURE-----

  reply	other threads:[~2006-05-20  3:40 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-20  1:00 [PATCH] 2.6.16.16 Parameter-controlled mmap/stack randomization John Richard Moser
2006-05-20  3:36 ` John Richard Moser [this message]
2006-05-20  5:23 ` John Richard Moser
2006-05-20 13:47 ` Arjan van de Ven
2006-05-20 15:23   ` John Richard Moser
2006-05-22  1:06     ` Pavel Machek
2006-05-22  2:46       ` John Richard Moser
2006-05-22  8:33         ` Pavel Machek
2006-05-22 16:31           ` John Richard Moser
2006-05-22 17:00             ` Pavel Machek
2006-05-22 17:54               ` John Richard Moser
2006-05-22 18:40                 ` Pavel Machek
2006-05-22 19:02                   ` John Richard Moser
2006-05-22 19:12                     ` Pavel Machek
2006-05-22 19:27                       ` John Richard Moser
2006-05-22 19:41                         ` Pavel Machek
2006-05-22 20:05                           ` John Richard Moser
2006-05-23  1:05             ` Arjan van de Ven
2006-05-23  1:34               ` John Richard Moser
2006-05-20 17:13 ` John Richard Moser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=446E8EB1.60406@comcast.net \
    --to=nigelenki@comcast.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.