* [PATCH 0/8] mm/slub: Add SLUB_RANDOMIZE support
@ 2011-03-14 0:20 George Spelvin
2011-03-16 2:57 ` Matt Mackall
0 siblings, 1 reply; 4+ messages in thread
From: George Spelvin @ 2011-03-14 0:20 UTC (permalink / raw)
To: penberg, herbert, mpm; +Cc: linux-mm, linux-kernel, linux
As a followup to the "[PATCH] Make /proc/slabinfo 0400" thread, this
is a patch series to randomize the order of object allocations within
a page. It can be extended to SLAB and SLOB if desired. Mostly it's
for benchmarking and discussion.
It Boots For Me(tm).
Patches 1-4 and 8 touch drivers/char/random.c, to add support for
efficiently generating a series of uniform random integers in small
ranges. Is this okay with Herbert & Matt?
I did a bit of code cleanup while I was at it, but kept it to separate
patches. Patches 4 and 7 are the heart of the new code, but I'd
particularly like comments on patch 8, as I don't understand the kconfig
stuff very well. Is the feature description good and are the control
knobs adequate?
Checkpatch complains about a too-short CONFIG option description on
8/8; I think it's spurious.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/8] mm/slub: Add SLUB_RANDOMIZE support
2011-03-14 0:20 [PATCH 0/8] mm/slub: Add SLUB_RANDOMIZE support George Spelvin
@ 2011-03-16 2:57 ` Matt Mackall
2011-03-16 6:23 ` Pekka Enberg
0 siblings, 1 reply; 4+ messages in thread
From: Matt Mackall @ 2011-03-16 2:57 UTC (permalink / raw)
To: George Spelvin; +Cc: penberg, herbert, linux-mm, linux-kernel
On Sun, 2011-03-13 at 20:20 -0400, George Spelvin wrote:
> As a followup to the "[PATCH] Make /proc/slabinfo 0400" thread, this
> is a patch series to randomize the order of object allocations within
> a page. It can be extended to SLAB and SLOB if desired. Mostly it's
> for benchmarking and discussion.
I've spent a while thinking about this over the past few weeks, and I
really don't think it's productive to try to randomize the allocators.
It provides negligible defense and just makes life harder for kernel
hackers.
(And you definitely can't randomize SLOB like this.)
> Patches 1-4 and 8 touch drivers/char/random.c, to add support for
> efficiently generating a series of uniform random integers in small
> ranges. Is this okay with Herbert & Matt?
But I will look at these.
--
Mathematics is the supreme nostalgia of our time.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/8] mm/slub: Add SLUB_RANDOMIZE support
2011-03-16 2:57 ` Matt Mackall
@ 2011-03-16 6:23 ` Pekka Enberg
2011-03-16 12:38 ` Matt Mackall
0 siblings, 1 reply; 4+ messages in thread
From: Pekka Enberg @ 2011-03-16 6:23 UTC (permalink / raw)
To: Matt Mackall
Cc: George Spelvin, penberg, herbert, linux-mm, linux-kernel,
Christoph Lameter, Dan Rosenberg, Linus Torvalds
Hi Matt,
On Sun, 2011-03-13 at 20:20 -0400, George Spelvin wrote:
>> As a followup to the "[PATCH] Make /proc/slabinfo 0400" thread, this
>> is a patch series to randomize the order of object allocations within
>> a page. It can be extended to SLAB and SLOB if desired. Mostly it's
>> for benchmarking and discussion.
On Wed, Mar 16, 2011 at 4:57 AM, Matt Mackall <mpm@selenic.com> wrote:
> I've spent a while thinking about this over the past few weeks, and I
> really don't think it's productive to try to randomize the allocators.
> It provides negligible defense and just makes life harder for kernel
> hackers.
If it's an optional feature and the impact on the code is low (as it
seems to be), what's the downside? Combined with disabling SLUB's slab
merging, randomization should definitely make it more difficult to
have full control over a full slab. I don't know how much defense it
will provide but I think randomization is definitely an option worth
exploring.
> (And you definitely can't randomize SLOB like this.)
No, you can't but heap exploits like the one we discuss are slightly
harder with SLOB anyway, no?
Pekka
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/8] mm/slub: Add SLUB_RANDOMIZE support
2011-03-16 6:23 ` Pekka Enberg
@ 2011-03-16 12:38 ` Matt Mackall
0 siblings, 0 replies; 4+ messages in thread
From: Matt Mackall @ 2011-03-16 12:38 UTC (permalink / raw)
To: Pekka Enberg
Cc: George Spelvin, penberg, herbert, linux-mm, linux-kernel,
Christoph Lameter, Dan Rosenberg, Linus Torvalds
On Wed, 2011-03-16 at 08:23 +0200, Pekka Enberg wrote:
> Hi Matt,
>
> On Sun, 2011-03-13 at 20:20 -0400, George Spelvin wrote:
> >> As a followup to the "[PATCH] Make /proc/slabinfo 0400" thread, this
> >> is a patch series to randomize the order of object allocations within
> >> a page. It can be extended to SLAB and SLOB if desired. Mostly it's
> >> for benchmarking and discussion.
>
> On Wed, Mar 16, 2011 at 4:57 AM, Matt Mackall <mpm@selenic.com> wrote:
> > I've spent a while thinking about this over the past few weeks, and I
> > really don't think it's productive to try to randomize the allocators.
> > It provides negligible defense and just makes life harder for kernel
> > hackers.
>
> If it's an optional feature and the impact on the code is low (as it
> seems to be), what's the downside?
We still haven't established an upside, so from where I'm sitting it's
all downside.
> Combined with disabling SLUB's slab
> merging, randomization should definitely make it more difficult to
> have full control over a full slab.
Turning off slab merging will help for object types that use their own
slabs, kmalloced objects will still be vulnerable, independently of
randomization. Randomization won't prevent anything but the most naive
attack.
Again, we've already spent more time talking about this than it will
take for the exploit community to work around it.
> No, you can't but heap exploits like the one we discuss are slightly
> harder with SLOB anyway, no?
Only slightly, if at all.
--
Mathematics is the supreme nostalgia of our time.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-03-16 12:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-14 0:20 [PATCH 0/8] mm/slub: Add SLUB_RANDOMIZE support George Spelvin
2011-03-16 2:57 ` Matt Mackall
2011-03-16 6:23 ` Pekka Enberg
2011-03-16 12:38 ` Matt Mackall
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).