install -m 644 $(driver_module_dir)/$(module_name).ko $(prefix)
install -m 644 $(driver_module_dir)/$(module_name).ko.addr $(prefix)
- install -m 755 $(driver_module_dir)/patchko.sh $(prefix)/bin
- install -m 755 $(driver_module_dir)/insmod.sh $(prefix)/bin
+ mkdir -p $(prefix)/bin/
+ install -m 755 $(driver_module_dir)/patchko.sh $(prefix)/bin/
+ install -m 755 $(driver_module_dir)/insmod.sh $(prefix)/bin/
- if [ "$(android)" != "yes" ] ; then \
sed "s|__DEV_NAME__|`basename $(dev_path)`|" $(driver_module_dir)/$(module_name).sh | \
sed "s|__DEV_DIR__|`dirname $(dev_path)`|" > \
$(prefix)/$(module_name).sh ; chmod +x $(prefix)/$(module_name).sh ; \
return 0;
}
-static int __init init_kprobes (void)
+static int init_module_deps(void)
+{
+ int ret;
+
+ sched_addr = swap_ksyms("__switch_to");
+ fork_addr = swap_ksyms("do_fork");
+ exit_addr = swap_ksyms("do_exit");
-
- if (sched_addr == 0 || fork_addr == 0 || exit_addr == 0) {
++ sys_exit_group_addr = swap_ksyms("sys_exit_group");
++ do_group_exit_addr = swap_ksyms("do_group_exit");
++ sys_exit_addr = swap_ksyms("sys_exit");
++
++ if (sched_addr == 0 ||
++ fork_addr == 0 ||
++ exit_addr == 0 ||
++ sys_exit_group_addr == 0 ||
++ do_group_exit_addr == 0 ||
++ sys_exit_addr == 0) {
+ return -ESRCH;
+ }
+
+ ret = init_module_dependencies();
+ if (ret) {
+ return ret;
+ }
+
+ return arch_init_module_deps();
+}
+
+static int __init init_kprobes(void)
{
int i, err = 0;