Re: [PATCH] x86/mm: Remove set_pages_x() and set_pages_nx()

From: Larry Finger
Date: Wed Sep 18 2019 - 13:50:00 EST


On 9/18/19 11:45 AM, Christoph Hellwig wrote:
On Wed, Sep 18, 2019 at 11:41:21AM -0500, Larry Finger wrote:
In commit 185be15143aa ("x86/mm: Remove set_pages_x() and set_pages_nx()"),
the wrappers were removed as they did not provide a real benefit over
set_memory_x() and set_memory_nx(). This change causes a problem because
the wrappers were exported, but the underlying routines were not. As a
result, external modules that used the wrappers would need to recreate
a significant part of memory management.

And external modules do not matter for mainline decisions. In fact
ensuring random modules can't mess with the NX state was one of the
reasons for this patch, as that is a security issue waiting to happen.


Christoph,

Is there approved way for pages to be set to be executable by an external module that would not be a security issue?

Larry