Thread (40 messages) 40 messages, 10 authors, 2024-10-16

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

From: Mike Rapoport <rppt@kernel.org>
Date: 2024-10-13 08:47:33
Also in: bpf, linux-alpha, linux-arch, linux-m68k, linux-mips, linux-mm, linux-modules, linux-riscv, linux-sh, linux-trace-kernel, linux-um, lkml, loongarch, sparclinux

On Fri, Oct 11, 2024 at 12:46:23AM -0700, Christoph Hellwig wrote:
On Thu, Oct 10, 2024 at 03:57:33PM +0300, Mike Rapoport wrote:
quoted
On Wed, Oct 09, 2024 at 11:58:33PM -0700, Christoph Hellwig wrote:
quoted
On Wed, Oct 09, 2024 at 09:08:15PM +0300, Mike Rapoport wrote:
quoted
 /**
  * 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. 
But why?  That's pretty different from our normal style of arch hooks,
and introduces an indirect call in a security sensitive area.
Will change to __weak hook. 

-- 
Sincerely yours,
Mike.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help