Re: [PATCH v5 7/8] execmem: add support for cache of large ROX pages

From: Mike Rapoport
Date: Thu Oct 10 2024 - 09:01:36 EST


On Wed, Oct 09, 2024 at 11:58:33PM -0700, Christoph Hellwig wrote:
> On Wed, Oct 09, 2024 at 09:08:15PM +0300, Mike Rapoport wrote:
> > /**
> > * struct execmem_info - architecture parameters for code allocations
> > + * @fill_trapping_insns: set memory to contain instructions that will trap
> > * @ranges: array of parameter sets defining architecture specific
> > * parameters for executable memory allocations. The ranges that are not
> > * explicitly initialized by an architecture use parameters defined for
> > * @EXECMEM_DEFAULT.
> > */
> > struct execmem_info {
> > + void (*fill_trapping_insns)(void *ptr, size_t size, bool writable);
> > struct execmem_range ranges[EXECMEM_TYPE_MAX];
>
> Why is the filler an indirect function call and not an architecture
> hook?

The idea is to keep everything together and have execmem_info describe all
that architecture needs.

--
Sincerely yours,
Mike.