* [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).