Re: [patch 0/5] Support for sanitization flag in low-level page allocator

Alan Cox
2009-05-23T08:08:22Z

> 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 it proves to expensive (which I don't think it will based upon
distro beta builds with slab poisoning enabled etc) then the more complex
approach you put forward can be built on top of it. Going this way first
doesn't have to exclude doing the more complex job later if it proves
needed.

Alan