#include <linux/module.h>
#include <us_manager/sspt/ip.h>
#include <us_manager/pf/pf_group.h>
+#include <us_manager/sspt/sspt_proc.h>
#include "probes.h"
#include "probe_info_new.h"
#include "register_probes.h"
+void pin_set_probe(struct probe_info_otg *otg, unsigned long vaddr)
+{
+ struct sspt_proc *proc;
+ struct task_struct *task = current;
+
+ otg->info.probe_type = otg->data->type;
+ otg->info.size = sizeof(struct probe_info_new *);
+
+ proc = sspt_proc_get_by_task(task);
+ if (proc) {
+ sspt_proc_install_probe(proc, vaddr, &otg->info);
+ } else {
+ pr_err("task[%u %u %s] not in sspt\n",
+ task->tgid, task->pid, task->comm);
+ }
+}
+EXPORT_SYMBOL_GPL(pin_set_probe);
/*
* register/unregister interface
#include <kprobe/swap_kprobes.h>
#include <uprobe/swap_uprobes.h>
+#include "probes.h"
struct dentry;
.data_size = _size \
}
+struct probe_info_otg {
+ struct probe_info info;
+ struct probe_info_new *data; /* field 'data[0]' in probe_info struct */
+};
+
+void pin_set_probe(struct probe_info_otg *otg, unsigned long vaddr);
int pin_register(struct probe_new *probe, struct pf_group *pfg,
struct dentry *dentry);