[REFACTOR] implementation pack_event_info()
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Tue, 25 Jun 2013 06:47:27 +0000 (10:47 +0400)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Tue, 25 Jun 2013 06:47:27 +0000 (10:47 +0400)
implementation pack_event_info() through ptr_pack_task_event_info()

driver/storage.c
driver/storage.h
driver/us_def_handler.c
us_manager/sspt/sspt.h
us_manager/us_manager.h

index 1eff332..e72084c 100644 (file)
@@ -1075,6 +1075,9 @@ int link_bundle(void)
        return 0;
 }
 
+void pack_task_event_info(struct task_struct *task, probe_id_t probe_id,
+                         record_type_t record_type, const char *fmt, ...);
+
 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
 int storage_init (void)
 {
index df34b09..92f597d 100644 (file)
@@ -57,10 +57,15 @@ extern void storage_down (void);
     Function "pack_event_info()" saves information about event into buffer. It
     is used in 'probes' to pack and save event data.
 */
-extern void pack_task_event_info (struct task_struct *task, probe_id_t probe_id,
-               record_type_t record_type, const char *fmt, ...);
+
+extern void (*ptr_pack_task_event_info)(struct task_struct *task,
+                                       int probe_id,
+                                       int record_type,
+                                       const char *fmt, ...);
+
 #define pack_event_info(probe_id, record_type, fmt, ...) \
-       pack_task_event_info(current, probe_id, record_type, fmt, __VA_ARGS__)
+       ptr_pack_task_event_info(current, probe_id, record_type, \
+                                fmt, __VA_ARGS__)
 
 /* Set most links from us_proc_info to data in the bundle */
 int link_bundle(void);
index fa3ef09..31f4f7a 100644 (file)
@@ -33,7 +33,7 @@ void ujprobe_event_handler(unsigned long arg0, unsigned long arg1,
        addr = ip->offset & 0x01 ? addr | 0x01 : addr;
 #endif
 
-       ptr_pack_task_event_info(current, US_PROBE_ID, RECORD_ENTRY, "ppppppp", addr, arg0, arg1,
+       pack_event_info(US_PROBE_ID, RECORD_ENTRY, "ppppppp", addr, arg0, arg1,
                        arg2, arg3, arg4, arg5);
        swap_ujprobe_return();
 }
@@ -65,11 +65,11 @@ static void send_plt(struct us_ip *ip)
                }
 
                if (name)
-                       ptr_pack_task_event_info(current, PLT_ADDR_PROBE_ID, RECORD_RET, "ppsp",
+                       pack_event_info(PLT_ADDR_PROBE_ID, RECORD_RET, "ppsp",
                                        addr, real_addr, name,
                                        real_addr - vma->vm_start);
                else
-                       ptr_pack_task_event_info(current, PLT_ADDR_PROBE_ID, RECORD_RET, "ppp",
+                       pack_event_info(PLT_ADDR_PROBE_ID, RECORD_RET, "ppp",
                                        addr, real_addr,
                                        real_addr - vma->vm_start);
        }
@@ -91,7 +91,7 @@ int uretprobe_event_handler(struct uretprobe_instance *probe,
        addr = ip->offset & 0x01 ? addr | 0x01 : addr;
 #endif
 
-       ptr_pack_task_event_info(current, US_PROBE_ID, RECORD_RET, "pd", addr, retval);
+       pack_event_info(US_PROBE_ID, RECORD_RET, "pd", addr, retval);
 
        return 0;
 }
index 984da5e..7a1f92e 100644 (file)
@@ -121,10 +121,8 @@ static inline int sspt_register_usprobe(struct us_ip *ip)
        ret = dbi_register_ujprobe(&ip->jprobe);
        if (ret) {
                if (ret == -ENOEXEC) {
-                       ptr_pack_task_event_info(current, ERR_MSG_ID,
-                                                RECORD_ENTRY, "dp",
-                                                0x1,
-                                                ip->jprobe.up.kp.addr);
+                       pack_event_info(ERR_MSG_ID, RECORD_ENTRY, "dp",
+                                       0x1, ip->jprobe.up.kp.addr);
                }
                printk("dbi_register_ujprobe() failure %d\n", ret);
                return ret;
index 8b966f2..577081b 100644 (file)
@@ -11,11 +11,4 @@ int usm_unregister_probe(struct dentry *dentry, unsigned long offset);
 int usm_start(void);
 int usm_stop(void);
 
-struct task_struct;
-
-extern void (*ptr_pack_task_event_info)(struct task_struct *task,
-                                       int probe_id,
-                                       int record_type,
-                                       const char *fmt, ...);
-
 #endif /* _US_MANAGER_H */