All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Arjan van de Ven <arjan@infradead.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	"Larry H." <research@subreption.com>, Ingo Molnar <mingo@elte.hu>,
	Rik van Riel <riel@redhat.com>,
	linux-kernel@vger.kernel.org, Linus Torvalds <torvalds@osdl.org>,
	linux-mm@kvack.org, Ingo Molnar <mingo@redhat.com>,
	pageexec@freemail.hu
Subject: Re: [patch 0/5] Support for sanitization flag in low-level page allocator
Date: Thu, 28 May 2009 21:36:01 +0200	[thread overview]
Message-ID: <1243539361.6645.80.camel@laptop> (raw)
In-Reply-To: <20090523085653.0ad217f8@infradead.org>

On Sat, 2009-05-23 at 08:56 -0700, Arjan van de Ven wrote:
> On Sat, 23 May 2009 09:09:10 +0100
> Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> 
> > > Enabling SLAB poisoning by default will be a bad idea
> > 
> > Why ?
> > 
> > > I looked for unused/re-usable flags too, but found none. It's
> > > interesting to see SLUB and SLOB have their own page flags. Did
> > > anybody oppose those when they were proposed? 
> > 
> > Certainly they were looked at - but the memory allocator is right at
> > the core of the system rather than an add on.
> > 
> > > > Ditto - which is why I'm coming from the position of an "if we
> > > > free it clear it" option. If you need that kind of security the
> > > > cost should be more than acceptable - especially with modern
> > > > processors that can do cache bypass on the clears.
> > > 
> > > Are you proposing that we should simply remove the confidential
> > > flags and just stick to the unconditional sanitization when the
> > > boot option is enabled? If positive, it will make things more
> > > simple and definitely is better than nothing. I would have (still)
> > > preferred the other old approach to be merged, but whatever works
> > > at this point.
> > 
> > I am because
> > - its easy to merge
> > - its non controversial
> > - it meets the security good practice and means we don't miss any
> >   alloc/free cases
> > - it avoid providing flags to help a trojan identify "interesting"
> > data to acquire
> > - modern cpu memory clearing can be very cheap
> 
> ... and if we zero on free, we don't need to zero on allocate.
> While this is a little controversial, it does mean that at least part of
> the cost is just time-shifted, which means it'll not be TOO bad
> hopefully...

zero on allocate has the advantage of cache hotness, we're going to use
the memory, why else allocate it.

zero on free only causes extra cache evictions for no gain.



WARNING: multiple messages have this Message-ID (diff)
From: Peter Zijlstra <peterz@infradead.org>
To: Arjan van de Ven <arjan@infradead.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	"Larry H." <research@subreption.com>, Ingo Molnar <mingo@elte.hu>,
	Rik van Riel <riel@redhat.com>,
	linux-kernel@vger.kernel.org, Linus Torvalds <torvalds@osdl.org>,
	linux-mm@kvack.org, Ingo Molnar <mingo@redhat.com>,
	pageexec@freemail.hu
Subject: Re: [patch 0/5] Support for sanitization flag in low-level page allocator
Date: Thu, 28 May 2009 21:36:01 +0200	[thread overview]
Message-ID: <1243539361.6645.80.camel@laptop> (raw)
In-Reply-To: <20090523085653.0ad217f8@infradead.org>

On Sat, 2009-05-23 at 08:56 -0700, Arjan van de Ven wrote:
> On Sat, 23 May 2009 09:09:10 +0100
> Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> 
> > > Enabling SLAB poisoning by default will be a bad idea
> > 
> > Why ?
> > 
> > > I looked for unused/re-usable flags too, but found none. It's
> > > interesting to see SLUB and SLOB have their own page flags. Did
> > > anybody oppose those when they were proposed? 
> > 
> > Certainly they were looked at - but the memory allocator is right at
> > the core of the system rather than an add on.
> > 
> > > > Ditto - which is why I'm coming from the position of an "if we
> > > > free it clear it" option. If you need that kind of security the
> > > > cost should be more than acceptable - especially with modern
> > > > processors that can do cache bypass on the clears.
> > > 
> > > Are you proposing that we should simply remove the confidential
> > > flags and just stick to the unconditional sanitization when the
> > > boot option is enabled? If positive, it will make things more
> > > simple and definitely is better than nothing. I would have (still)
> > > preferred the other old approach to be merged, but whatever works
> > > at this point.
> > 
> > I am because
> > - its easy to merge
> > - its non controversial
> > - it meets the security good practice and means we don't miss any
> >   alloc/free cases
> > - it avoid providing flags to help a trojan identify "interesting"
> > data to acquire
> > - modern cpu memory clearing can be very cheap
> 
> ... and if we zero on free, we don't need to zero on allocate.
> While this is a little controversial, it does mean that at least part of
> the cost is just time-shifted, which means it'll not be TOO bad
> hopefully...

zero on allocate has the advantage of cache hotness, we're going to use
the memory, why else allocate it.

zero on free only causes extra cache evictions for no gain.


--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2009-05-28 19:36 UTC|newest]

Thread overview: 220+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-20 18:30 [patch 0/5] Support for sanitization flag in low-level page allocator Larry H.
2009-05-20 18:30 ` Larry H.
2009-05-20 20:42 ` Peter Zijlstra
2009-05-20 20:42   ` Peter Zijlstra
2009-05-20 21:24   ` Larry H.
2009-05-20 21:24     ` Larry H.
2009-05-21 15:21     ` Robin Holt
2009-05-21 15:21       ` Robin Holt
2009-05-21 18:43       ` Larry H.
2009-05-21 18:43         ` Larry H.
2009-05-29 22:58     ` Andrew Morton
2009-05-29 22:58       ` Andrew Morton
2009-05-30  7:00       ` Larry H.
2009-05-30  7:12       ` Pekka Enberg
2009-05-30  7:12         ` Pekka Enberg
2009-05-30  7:35         ` Larry H.
2009-05-30  7:35           ` Larry H.
2009-05-30  7:39           ` Pekka Enberg
2009-05-30  7:39             ` Pekka Enberg
2009-05-21 19:08   ` Rik van Riel
2009-05-21 19:08     ` Rik van Riel
2009-05-21 19:26     ` Alan Cox
2009-05-21 19:26       ` Alan Cox
2009-05-21 19:56       ` Larry H.
2009-05-21 19:56         ` Larry H.
2009-05-21 20:47         ` Alan Cox
2009-05-21 20:47           ` Alan Cox
2009-05-21 21:46           ` Larry H.
2009-05-21 22:47             ` Alan Cox
2009-05-21 22:47               ` Alan Cox
2009-05-22 11:22               ` Larry H.
2009-05-22 11:22                 ` Larry H.
2009-05-22 13:37                 ` Alan Cox
2009-05-22 13:37                   ` Alan Cox
2009-05-26 19:02       ` Pavel Machek
2009-05-26 19:02         ` Pavel Machek
2009-05-21 19:17 ` Rik van Riel
2009-05-21 19:30   ` Larry H.
2009-05-22  7:34   ` Ingo Molnar
2009-05-22 11:38     ` Larry H.
2009-05-22 11:38       ` Larry H.
2009-05-22 13:39       ` Alan Cox
2009-05-22 13:39         ` Alan Cox
2009-05-22 18:03         ` Larry H.
2009-05-22 18:03           ` Larry H.
2009-05-22 18:21           ` Alan Cox
2009-05-22 18:21             ` Alan Cox
2009-05-22 23:25             ` [PATCH] Support for kernel memory sanitization Larry H.
2009-05-22 23:52               ` Randy Dunlap
2009-05-22 23:40             ` [patch 0/5] Support for sanitization flag in low-level page allocator Larry H.
2009-05-23  8:09               ` Alan Cox
2009-05-23  8:09                 ` Alan Cox
2009-05-23 15:56                 ` Arjan van de Ven
2009-05-23 15:56                   ` Arjan van de Ven
2009-05-23 18:21                   ` [PATCH] Support for unconditional page sanitization Larry H.
2009-05-23 18:21                     ` Larry H.
2009-05-23 21:05                     ` Arjan van de Ven
2009-05-23 21:05                       ` Arjan van de Ven
2009-05-24 10:19                       ` pageexec
2009-05-24 10:19                         ` pageexec
2009-05-24 16:38                         ` Arjan van de Ven
2009-05-24 16:38                           ` Arjan van de Ven
2009-05-28 19:36                   ` Peter Zijlstra [this message]
2009-05-28 19:36                     ` [patch 0/5] Support for sanitization flag in low-level page allocator Peter Zijlstra
2009-05-29 14:32                     ` Arjan van de Ven
2009-05-29 14:32                       ` Arjan van de Ven
2009-05-30  5:48                       ` Larry H.
2009-05-30  5:48                         ` Larry H.
2009-05-30 10:39                         ` Peter Zijlstra
2009-05-30 10:39                           ` Peter Zijlstra
2009-05-30 10:43                           ` Larry H.
2009-05-30 10:43                             ` Larry H.
2009-05-30 11:42                           ` pageexec
2009-05-30 11:42                             ` pageexec
2009-05-30 13:21                             ` Peter Zijlstra
2009-05-30 13:21                               ` Peter Zijlstra
2009-05-30 13:24                               ` Peter Zijlstra
2009-05-30 13:24                                 ` Peter Zijlstra
2009-05-30 13:54                               ` pageexec
2009-05-30 13:54                                 ` pageexec
2009-05-30 14:04                                 ` Larry H.
2009-05-30 14:04                                   ` Larry H.
2009-05-30 14:13                                 ` Rik van Riel
2009-05-30 14:13                                   ` Rik van Riel
2009-05-30 14:08                               ` Rik van Riel
2009-05-30 14:08                                 ` Rik van Riel
2009-05-30 14:30                               ` Alan Cox
2009-05-30 14:45                                 ` Peter Zijlstra
2009-05-30 14:45                                   ` Peter Zijlstra
2009-05-30 14:48                                   ` Rik van Riel
2009-05-30 14:48                                     ` Rik van Riel
2009-05-30 17:00                                     ` Larry H.
2009-05-30 17:00                                       ` Larry H.
2009-05-30 17:25                                       ` Larry H.
2009-05-30 17:25                                         ` Larry H.
2009-05-30 18:32                                         ` Ingo Molnar
2009-05-30 18:32                                           ` Ingo Molnar
2009-06-05 13:15                                   ` Pavel Machek
2009-05-31 14:38                           ` Arjan van de Ven
2009-05-31 14:38                             ` Arjan van de Ven
2009-05-31 15:03                             ` Arjan van de Ven
2009-05-31 15:03                               ` Arjan van de Ven
2009-05-22 18:37           ` Nai Xia
2009-05-22 18:37             ` Nai Xia
2009-05-22 19:18           ` Nai Xia
2009-05-22 19:18             ` Nai Xia
2009-05-23 12:49       ` Ingo Molnar
2009-05-23 12:49         ` Ingo Molnar
2009-05-23 22:28         ` Larry H.
2009-05-23 22:28           ` Larry H.
2009-05-23 22:42         ` Rik van Riel
2009-05-23 22:42           ` Rik van Riel
2009-05-25  1:17           ` [PATCH] Sanitize memory on kfree() and kmem_cache_free() Larry H.
2009-05-25  1:17             ` Larry H.
2009-05-27 22:34           ` [patch 0/5] Support for sanitization flag in low-level page allocator Ingo Molnar
2009-05-27 22:34             ` Ingo Molnar
2009-05-28  6:27             ` Alan Cox
2009-05-28  6:27               ` Alan Cox
2009-05-28  7:00               ` Larry H.
2009-05-28  7:00                 ` Larry H.
2009-05-28  9:08               ` Ingo Molnar
2009-05-28  9:08                 ` Ingo Molnar
2009-05-28 11:50                 ` Alan Cox
2009-05-28 11:50                   ` Alan Cox
2009-05-28 19:44                   ` Peter Zijlstra
2009-05-28 19:44                     ` Peter Zijlstra
2009-05-30  7:35                   ` Pekka Enberg
2009-05-30  7:35                     ` Pekka Enberg
2009-05-30  7:50                     ` Larry H.
2009-05-30  7:50                       ` Larry H.
2009-05-30  7:53                       ` Pekka Enberg
2009-05-30  7:53                         ` Pekka Enberg
2009-05-30  8:20                         ` Larry H.
2009-05-30  8:20                           ` Larry H.
2009-05-30  8:33                           ` Pekka Enberg
2009-05-30  8:33                             ` Pekka Enberg
2009-05-30 15:05                           ` Ray Lee
2009-05-30 15:05                             ` Ray Lee
2009-05-30 17:34                           ` Ingo Molnar
2009-05-30 17:34                             ` Ingo Molnar
2009-05-30 18:03                             ` Larry H.
2009-05-30 18:03                               ` Larry H.
2009-05-30 18:21                               ` Ingo Molnar
2009-05-30 18:21                                 ` Ingo Molnar
2009-05-30 18:45                                 ` Larry H.
2009-05-30 18:45                                   ` Larry H.
2009-05-30 19:08                                   ` Ingo Molnar
2009-05-30 19:08                                     ` Ingo Molnar
2009-05-30 20:39                                     ` Rik van Riel
2009-05-30 20:39                                       ` Rik van Riel
2009-05-30 20:53                                       ` Pekka Enberg
2009-05-30 20:53                                         ` Pekka Enberg
2009-05-30 21:33                                         ` Larry H.
2009-05-30 21:33                                           ` Larry H.
2009-05-30 23:13                                           ` Alan Cox
2009-05-30 23:13                                             ` Alan Cox
2009-05-30 23:18                                             ` Larry H.
2009-05-30 23:18                                               ` Larry H.
2009-05-31  6:30                                               ` Pekka Enberg
2009-05-31  6:30                                                 ` Pekka Enberg
2009-05-31 11:49                                                 ` Larry H.
2009-05-31 11:49                                                   ` Larry H.
2009-05-31  7:17                                           ` Pekka Enberg
2009-05-31  7:17                                             ` Pekka Enberg
2009-05-31 11:58                                             ` Larry H.
2009-05-31 11:58                                               ` Larry H.
2009-05-31 12:16                                               ` Pekka Enberg
2009-05-31 12:16                                                 ` Pekka Enberg
2009-05-31 12:30                                                 ` Larry H.
2009-05-31 12:30                                                   ` Larry H.
2009-05-31 12:35                                                   ` Pekka Enberg
2009-05-31 12:35                                                     ` Pekka Enberg
2009-05-30 23:10                                         ` Alan Cox
2009-05-30 23:10                                           ` Alan Cox
2009-05-31  6:14                                           ` Pekka Enberg
2009-05-31  6:14                                             ` Pekka Enberg
2009-05-31 10:24                                             ` Alan Cox
2009-05-31 10:24                                               ` Alan Cox
2009-05-31 10:24                                               ` Pekka Enberg
2009-05-31 10:24                                                 ` Pekka Enberg
2009-05-31 12:16                                             ` Larry H.
2009-05-31 12:16                                               ` Larry H.
2009-05-31 12:19                                               ` Pekka Enberg
2009-05-31 12:19                                                 ` Pekka Enberg
2009-05-31 16:25                                               ` Alan Cox
2009-05-31 16:25                                                 ` Alan Cox
2009-05-30 22:10                                       ` Ingo Molnar
2009-05-30 22:10                                         ` Ingo Molnar
2009-05-30 23:15                                         ` Alan Cox
2009-05-30 23:15                                           ` Alan Cox
2009-05-30 20:22                               ` Pekka Enberg
2009-05-30 20:22                                 ` Pekka Enberg
2009-05-30 22:14                                 ` Ingo Molnar
2009-05-30 22:14                                   ` Ingo Molnar
2009-05-30 17:39                         ` Ingo Molnar
2009-05-30 17:39                           ` Ingo Molnar
2009-05-30  7:57                       ` Pekka Enberg
2009-05-30  7:57                         ` Pekka Enberg
2009-05-30  9:05                         ` Larry H.
2009-05-30  9:05                           ` Larry H.
2009-05-30 17:46                           ` Ingo Molnar
2009-05-30 17:46                             ` Ingo Molnar
2009-05-30 18:09                             ` Larry H.
2009-05-30 18:09                               ` Larry H.
2009-05-30  8:31                     ` Alan Cox
2009-05-30  8:31                       ` Alan Cox
2009-05-30  8:35                       ` Pekka Enberg
2009-05-30  8:35                         ` Pekka Enberg
2009-05-30  9:27                         ` Larry H.
2009-05-30  9:27                           ` Larry H.
2009-05-28 18:48                 ` pageexec
2009-05-28 18:48                   ` pageexec
2009-05-30 17:50                   ` Ingo Molnar
2009-05-30 17:50                     ` Ingo Molnar
2009-05-28 12:48 ` Pavel Machek
2009-05-28 12:48   ` Pavel Machek
2009-05-28 12:55   ` Larry H.
2009-05-28 12:55     ` Larry H.
  -- strict thread matches above, loose matches on Subject: below --
2009-05-28 18:56 pageexec
2009-05-28 18:56 ` pageexec

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=1243539361.6645.80.camel@laptop \
    --to=peterz@infradead.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=pageexec@freemail.hu \
    --cc=research@subreption.com \
    --cc=riel@redhat.com \
    --cc=torvalds@osdl.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.