On Thu, 21 Feb 2019 15:44:49 -0800 Rick Edgecombe <rick.p.edgecombe@xxxxxxxxx> wrote: > Use new flag VM_FLUSH_RESET_PERMS for handling freeing of special > permissioned memory in vmalloc and remove places where memory was set NX > and RW before freeing which is no longer needed. > > Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> > Acked-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> > Signed-off-by: Rick Edgecombe <rick.p.edgecombe@xxxxxxxxx> > --- > arch/x86/kernel/ftrace.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c > index 13c8249b197f..93efe3955333 100644 > --- a/arch/x86/kernel/ftrace.c > +++ b/arch/x86/kernel/ftrace.c > @@ -692,10 +692,6 @@ static inline void *alloc_tramp(unsigned long size) > } > static inline void tramp_free(void *tramp, int size) As size is no longer used within the function, can you remove that too. Thanks, -- Steve > { > - int npages = PAGE_ALIGN(size) >> PAGE_SHIFT; > - > - set_memory_nx((unsigned long)tramp, npages); > - set_memory_rw((unsigned long)tramp, npages); > module_memfree(tramp); > } > #else > @@ -820,6 +816,8 @@ create_trampoline(struct ftrace_ops *ops, unsigned int *tramp_size) > /* ALLOC_TRAMP flags lets us know we created it */ > ops->flags |= FTRACE_OPS_FL_ALLOC_TRAMP; > > + set_vm_flush_reset_perms(trampoline); > + > /* > * Module allocation needs to be completed by making the page > * executable. The page is still writable, which is a security hazard,