Re: [RFC][PATCH] treewide: Move set_memory_* functions away from cacheflush.h

From: Kees Cook
Date: Tue Feb 07 2017 - 16:32:04 EST


On Tue, Feb 7, 2017 at 1:10 PM, Laura Abbott <labbott@xxxxxxxxxx> wrote:
> The set_memory_* APIs came out of a desire to have a better way to
> change memory attributes. Many of these attributes were linked to cache
> functionality so the prototypes were put in cacheflush.h. These days,
> the APIs have grown and have a much wider use than just cache APIs. To
> support this growth, split off set_memory_* and friends into a separate
> header file to avoid growing cacheflush.h for APIs that have nothing to
> do with caches.
>
> Signed-off-by: Laura Abbott <labbott@xxxxxxxxxx>
> ---
> This came out of a comment Russell made while reviewing RODATA test cases
> http://lists.infradead.org/pipermail/linux-arm-kernel/2017-January/480855.html
> While the final result of that series was the rodata code was refactored into
> its own header file, the set_memory_* APIs are still out of place.

Yeah, this is a nice clean up to start on.

> This is a simple attempt at moving all the API stubs to their own file.
> Another idea I had was throwing set_memory_{x,nx,ro,rw} in an asm-generic
> file since those are commonly used for module setting across all arches.

It seems like asm-generic would be cleaner, yes? Only a few archs have
anything "special" happening in the resulting header files.

-Kees

--
Kees Cook
Pixel Security