When CONFIG_KRETPROBES disabled, cleanup_rp_inst() is useless too. It
is only called by unregister_kretprobes() which is in CONFIG_KRETPROBES
enabled area.

The related warning (allmodconfig under avr32):

  kernel/kprobes.c:1181: warning: 'cleanup_rp_inst' defined but not used


Signed-off-by: Chen Gang <gang.chen.5...@gmail.com>
---
 kernel/kprobes.c | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index ceeadfc..18a520d 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -1178,26 +1178,6 @@ static inline void free_rp_inst(struct kretprobe *rp)
        }
 }
 
-static void __kprobes cleanup_rp_inst(struct kretprobe *rp)
-{
-       unsigned long flags, hash;
-       struct kretprobe_instance *ri;
-       struct hlist_node *next;
-       struct hlist_head *head;
-
-       /* No race here */
-       for (hash = 0; hash < KPROBE_TABLE_SIZE; hash++) {
-               kretprobe_table_lock(hash, &flags);
-               head = &kretprobe_inst_table[hash];
-               hlist_for_each_entry_safe(ri, next, head, hlist) {
-                       if (ri->rp == rp)
-                               ri->rp = NULL;
-               }
-               kretprobe_table_unlock(hash, &flags);
-       }
-       free_rp_inst(rp);
-}
-
 /*
 * Add the new probe to ap->list. Fail if this is the
 * second jprobe at the address - two jprobes can't coexist
@@ -1885,6 +1865,26 @@ void __kprobes unregister_kretprobe(struct kretprobe *rp)
 }
 EXPORT_SYMBOL_GPL(unregister_kretprobe);
 
+static void __kprobes cleanup_rp_inst(struct kretprobe *rp)
+{
+       unsigned long flags, hash;
+       struct kretprobe_instance *ri;
+       struct hlist_node *next;
+       struct hlist_head *head;
+
+       /* No race here */
+       for (hash = 0; hash < KPROBE_TABLE_SIZE; hash++) {
+               kretprobe_table_lock(hash, &flags);
+               head = &kretprobe_inst_table[hash];
+               hlist_for_each_entry_safe(ri, next, head, hlist) {
+                       if (ri->rp == rp)
+                               ri->rp = NULL;
+               }
+               kretprobe_table_unlock(hash, &flags);
+       }
+       free_rp_inst(rp);
+}
+
 void __kprobes unregister_kretprobes(struct kretprobe **rps, int num)
 {
        int i;
-- 
1.7.11.7
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to