[IMPROVE] add syscall events
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Fri, 12 Jul 2013 14:24:16 +0000 (18:24 +0400)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Fri, 12 Jul 2013 14:24:16 +0000 (18:24 +0400)
driver/msg/swap_msg.c
ks_features/ks_features.c

index d43edff..6510677 100644 (file)
@@ -423,6 +423,7 @@ void entry_event(const char *fmt, struct pt_regs *regs,
 
        set_len_msg(buf, buf_end);
 }
+EXPORT_SYMBOL_GPL(entry_event);
 
 
 
@@ -464,6 +465,7 @@ void exit_event(struct pt_regs *regs)
        buf_end = pack_msg_func_exit(payload, regs);
        set_len_msg(buf, buf_end);
 }
+EXPORT_SYMBOL_GPL(exit_event);
 
 
 
index bc012df..b5f7a22 100644 (file)
@@ -67,23 +67,23 @@ static void dec_counter(size_t id)
 #include <ec_probe.h>
 #include <picl.h>
 #include <storage.h>
+#include "../driver/msg/swap_msg.h"
 
 static int entry_handler(struct kretprobe_instance *ri, struct pt_regs *regs, void *priv_arg)
 {
        struct ks_probe *ksp = (struct ks_probe *)priv_arg;
+       const char *fmt = ksp->args;
 
-       pack_event_info(KS_PROBE_ID, RECORD_ENTRY, "ps", ksp->rp.kp.addr, ksp->args);
+       entry_event(fmt, regs, PT_US, PST_NONE);
 
        return 0;
 }
 
 static int ret_handler(struct kretprobe_instance *ri, struct pt_regs *regs, void *priv_arg)
 {
-       int ret_val;
        struct ks_probe *ksp = (struct ks_probe *)priv_arg;
 
-       ret_val = regs_return_value(regs);
-       pack_event_info(KS_PROBE_ID, RECORD_RET, "pd", ksp->rp.kp.addr, ret_val);
+       exit_event(regs);
 
        return 0;
 }