mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 14:41:27 +00:00
uprobes/core: Clean up, refactor and improve the code
Make the uprobes code readable to me: - improve the Kconfig text so that a mere mortal gets some idea what CONFIG_UPROBES=y is really about - do trivial renames to standardize around the uprobes_*() namespace - clean up and simplify various code flow details - separate basic blocks of functionality - line break artifact and white space related removal - use standard local varible definition blocks - use vertical spacing to make things more readable - remove unnecessary volatile - restructure comment blocks to make them more uniform and more readable in general Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Cc: Jim Keniston <jkenisto@us.ibm.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Cc: Arnaldo Carvalho de Melo <acme@infradead.org> Cc: Anton Arapov <anton@redhat.com> Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Link: http://lkml.kernel.org/n/tip-ewbwhb8o6navvllsauu7k07p@git.kernel.org Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
2b14449835
commit
7b2d81d48a
6 changed files with 233 additions and 186 deletions
|
@ -1,7 +1,7 @@
|
|||
#ifndef _LINUX_UPROBES_H
|
||||
#define _LINUX_UPROBES_H
|
||||
/*
|
||||
* Userspace Probes (UProbes)
|
||||
* User-space Probes (UProbes)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -40,8 +40,10 @@ struct uprobe_arch_info {};
|
|||
#define uprobe_opcode_sz sizeof(uprobe_opcode_t)
|
||||
|
||||
/* flags that denote/change uprobes behaviour */
|
||||
|
||||
/* Have a copy of original instruction */
|
||||
#define UPROBES_COPY_INSN 0x1
|
||||
|
||||
/* Dont run handlers when first register/ last unregister in progress*/
|
||||
#define UPROBES_RUN_HANDLER 0x2
|
||||
|
||||
|
@ -70,27 +72,23 @@ struct uprobe {
|
|||
};
|
||||
|
||||
#ifdef CONFIG_UPROBES
|
||||
extern int __weak set_bkpt(struct mm_struct *mm, struct uprobe *uprobe,
|
||||
unsigned long vaddr);
|
||||
extern int __weak set_orig_insn(struct mm_struct *mm, struct uprobe *uprobe,
|
||||
unsigned long vaddr, bool verify);
|
||||
extern int __weak set_bkpt(struct mm_struct *mm, struct uprobe *uprobe, unsigned long vaddr);
|
||||
extern int __weak set_orig_insn(struct mm_struct *mm, struct uprobe *uprobe, unsigned long vaddr, bool verify);
|
||||
extern bool __weak is_bkpt_insn(uprobe_opcode_t *insn);
|
||||
extern int register_uprobe(struct inode *inode, loff_t offset,
|
||||
struct uprobe_consumer *consumer);
|
||||
extern void unregister_uprobe(struct inode *inode, loff_t offset,
|
||||
struct uprobe_consumer *consumer);
|
||||
extern int mmap_uprobe(struct vm_area_struct *vma);
|
||||
extern int uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *consumer);
|
||||
extern void uprobe_unregister(struct inode *inode, loff_t offset, struct uprobe_consumer *consumer);
|
||||
extern int uprobe_mmap(struct vm_area_struct *vma);
|
||||
#else /* CONFIG_UPROBES is not defined */
|
||||
static inline int register_uprobe(struct inode *inode, loff_t offset,
|
||||
struct uprobe_consumer *consumer)
|
||||
static inline int
|
||||
uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *consumer)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
static inline void unregister_uprobe(struct inode *inode, loff_t offset,
|
||||
struct uprobe_consumer *consumer)
|
||||
static inline void
|
||||
uprobe_unregister(struct inode *inode, loff_t offset, struct uprobe_consumer *consumer)
|
||||
{
|
||||
}
|
||||
static inline int mmap_uprobe(struct vm_area_struct *vma)
|
||||
static inline int uprobe_mmap(struct vm_area_struct *vma)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue