Commit 66ce7514 authored by Barry Song's avatar Barry Song Committed by Linus Torvalds

kprobes: remove duplicated strong free_insn_page in x86 and s390

free_insn_page() in x86 and s390 is same with the common weak function in
kernel/kprobes.c.  Plus, the comment "Recover page to RW mode before
releasing it" in x86 seems insensible to be there since resetting mapping
is done by common code in vfree() of module_memfree().  So drop these two
duplicated strong functions and related comment, then mark the common one
in kernel/kprobes.c strong.

Link: https://lkml.kernel.org/r/20210608065736.32656-1-song.bao.hua@hisilicon.comSigned-off-by: default avatarBarry Song <song.bao.hua@hisilicon.com>
Acked-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
Acked-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: "Naveen N. Rao" <naveen.n.rao@linux.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Qi Liu <liuqi115@huawei.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 86d1919a
...@@ -44,11 +44,6 @@ void *alloc_insn_page(void) ...@@ -44,11 +44,6 @@ void *alloc_insn_page(void)
return page; return page;
} }
void free_insn_page(void *page)
{
module_memfree(page);
}
static void *alloc_s390_insn_page(void) static void *alloc_s390_insn_page(void)
{ {
if (xchg(&insn_page_in_use, 1) == 1) if (xchg(&insn_page_in_use, 1) == 1)
......
...@@ -422,12 +422,6 @@ void *alloc_insn_page(void) ...@@ -422,12 +422,6 @@ void *alloc_insn_page(void)
return page; return page;
} }
/* Recover page to RW mode before releasing it */
void free_insn_page(void *page)
{
module_memfree(page);
}
/* Kprobe x86 instruction emulation - only regs->ip or IF flag modifiers */ /* Kprobe x86 instruction emulation - only regs->ip or IF flag modifiers */
static void kprobe_emulate_ifmodifiers(struct kprobe *p, struct pt_regs *regs) static void kprobe_emulate_ifmodifiers(struct kprobe *p, struct pt_regs *regs)
......
...@@ -407,7 +407,6 @@ int enable_kprobe(struct kprobe *kp); ...@@ -407,7 +407,6 @@ int enable_kprobe(struct kprobe *kp);
void dump_kprobe(struct kprobe *kp); void dump_kprobe(struct kprobe *kp);
void *alloc_insn_page(void); void *alloc_insn_page(void);
void free_insn_page(void *page);
int kprobe_get_kallsym(unsigned int symnum, unsigned long *value, char *type, int kprobe_get_kallsym(unsigned int symnum, unsigned long *value, char *type,
char *sym); char *sym);
......
...@@ -106,7 +106,7 @@ void __weak *alloc_insn_page(void) ...@@ -106,7 +106,7 @@ void __weak *alloc_insn_page(void)
return module_alloc(PAGE_SIZE); return module_alloc(PAGE_SIZE);
} }
void __weak free_insn_page(void *page) static void free_insn_page(void *page)
{ {
module_memfree(page); module_memfree(page);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment