On 24/04/18 16:32, lazytyped wrote:
On 4/24/18 1:50 PM, Matthew Wilcox wrote:
struct modifiable_data {
struct immutable_data *d;
...
};
Then allocate a new pool, change d and destroy the old pool.
With the above, you have just shifted the target of the arbitrary write
from the immutable data itself to the pointer to the immutable data, so
got no security benefit.
The goal of the patch is to reduce the window when stuff is writeable,
so that an arbitrary write is likely to hit the time when data is read-only.
Indeed, that was my - poorly explained, I admit it - idea.
For example, that's the reason why I am remapping one page at a time in
a loop, instead of doing the whole array, to limit exposure and increase
randomness.
WRT the implementation, I'm sure there are bugs that need squashing.
But if I have overlooked some aspect in the overall design, I need
guidance, because i still do not see what I am missing :-(
--
igor