*/
+#include <linux/slab.h>
#include <kprobe/swap_kprobes.h>
#include "kp_module.h"
return v0 + v1 + v2 + v3 + v4 + v5 + v6 + v7;
}
-static noinline long test_func(long v0, long v1, long v2, long v3,
- long v4, long v5, long v6, long v7)
+noinline long test_func(long v0, long v1, long v2, long v3,
+ long v4, long v5, long v6, long v7)
{
- return do_test_func(v0, v1, v2, v3, v4, v5, v6, v7);
+ long ret = do_test_func(v0, v1, v2, v3, v4, v5, v6, v7);
+ pr_info("CALL: ret=%ld\n", ret);
+ return ret;
}
static int test_func_eh(struct kretprobe_instance *ri, struct pt_regs *regs)
memcmp(&tf_data_gage, &tf_data_tmp, sizeof(tf_data_gage)) == 0) {
olog(" OK\n");
} else {
- olog(" ERROR:\n"
- " tf_data_gage=[%ld %ld %ld %ld %ld %ld %ld %ld] ret=%ld\n"
- " tf_data_tmp =[%ld %ld %ld %ld %ld %ld %ld %ld] ret=%ld\n",
+ olog(" ERROR:\n");
+ olog(" tf_data_gage=[%ld %ld %ld %ld %ld %ld %ld %ld] ret=%ld\n",
tf_data_gage.v0, tf_data_gage.v1,
tf_data_gage.v2, tf_data_gage.v3,
tf_data_gage.v4, tf_data_gage.v5,
- tf_data_gage.v6, tf_data_gage.v7, ret,
+ tf_data_gage.v6, tf_data_gage.v7, ret);
+ olog(" tf_data_tmp =[%ld %ld %ld %ld %ld %ld %ld %ld] ret=%ld\n",
tf_data_tmp.v0, tf_data_tmp.v1,
tf_data_tmp.v2, tf_data_tmp.v3,
tf_data_tmp.v4, tf_data_tmp.v5,