From: Vyacheslav Cherkashin Date: Tue, 25 Jun 2013 06:47:27 +0000 (+0400) Subject: [REFACTOR] implementation pack_event_info() X-Git-Tag: accepted/tizen/mobile/20160407.001200~560 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c325ea4121106b872f295826207a02f432955ddd;p=platform%2Fkernel%2Fswap-modules.git [REFACTOR] implementation pack_event_info() implementation pack_event_info() through ptr_pack_task_event_info() --- diff --git a/driver/storage.c b/driver/storage.c index 1eff332..e72084c 100644 --- a/driver/storage.c +++ b/driver/storage.c @@ -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) { diff --git a/driver/storage.h b/driver/storage.h index df34b09..92f597d 100644 --- a/driver/storage.h +++ b/driver/storage.h @@ -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); diff --git a/driver/us_def_handler.c b/driver/us_def_handler.c index fa3ef09..31f4f7a 100644 --- a/driver/us_def_handler.c +++ b/driver/us_def_handler.c @@ -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; } diff --git a/us_manager/sspt/sspt.h b/us_manager/sspt/sspt.h index 984da5e..7a1f92e 100644 --- a/us_manager/sspt/sspt.h +++ b/us_manager/sspt/sspt.h @@ -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; diff --git a/us_manager/us_manager.h b/us_manager/us_manager.h index 8b966f2..577081b 100644 --- a/us_manager/us_manager.h +++ b/us_manager/us_manager.h @@ -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 */