History

kprobe: Simplify prepare_kprobe() by dropping redundant version

The function prepare_kprobe() is called during kprobe registration and is responsible for ensuring any architecture related preparation for the kprobe is done before returning. One of two versions of prepare_kprobe() is chosen depending on the availability of KPROBE_ON_FTRACE in the kernel configuration. Simplify the code by dropping the version when KPROBE_ON_FTRACE is not selected - instead relying on kprobe_ftrace() to return false when KPROBE_ON_FTRACE is not set. No functional change. Link: https://lkml.kernel.org/r/163163033696.489837.9264661820279300788.stgit@devnote2

Punit Agrawal committed 5 years ago

Commit 02afb8d1 parent 5d6de7d2 files · +14 −14Browse files

Showing the changes to kernel (1 of 2 files). Show all

Unified · Split

kernel/kprobes.c+9−14
@@ -1033,15 +1033,6 @@ static struct ftrace_ops kprobe_ipmodify_ops __read_mostly = { · 1032 unmodified lines
10331033 static int kprobe_ipmodify_enabled;
10341034 static int kprobe_ftrace_enabled;
10351035
1036−/* Must ensure p->addr is really on ftrace */
1037−static int prepare_kprobe(struct kprobe *p)
1038−{
1039− if (!kprobe_ftrace(p))
1040− return arch_prepare_kprobe(p);
1041−
1042− return arch_prepare_kprobe_ftrace(p);
1043−}
1044−
10451036 /* Caller must lock kprobe_mutex */
10461037 static int __arm_kprobe_ftrace(struct kprobe *p, struct ftrace_ops *ops,
10471038 int *cnt)
@@ -1113,11 +1104,6 @@ static int disarm_kprobe_ftrace(struct kprobe *p) · 65 unmodified lines
11131104 ipmodify ? &kprobe_ipmodify_enabled : &kprobe_ftrace_enabled);
11141105 }
11151106 #else /* !CONFIG_KPROBES_ON_FTRACE */
1116−static inline int prepare_kprobe(struct kprobe *p)
1117−{
1118− return arch_prepare_kprobe(p);
1119−}
1120−
11211107 static inline int arm_kprobe_ftrace(struct kprobe *p)
11221108 {
11231109 return -ENODEV;
@@ -1129,6 +1115,15 @@ static inline int disarm_kprobe_ftrace(struct kprobe *p) · 5 unmodified lines
11291115 }
11301116 #endif
11311117
1118+static int prepare_kprobe(struct kprobe *p)
1119+{
1120+ /* Must ensure p->addr is really on ftrace */
1121+ if (kprobe_ftrace(p))
1122+ return arch_prepare_kprobe_ftrace(p);
1123+
1124+ return arch_prepare_kprobe(p);
1125+}
1126+
11321127 /* Arm a kprobe with text_mutex */
11331128 static int arm_kprobe(struct kprobe *kp)
11341129 {