diff --git a/kerneldriver/cases/Makefile b/kerneldriver/cases/Makefile index 5361328f360c49d78ba572ba4efd6453da7b5bbc..9a92161cff8ba3327d757b5ac3e5c3766400a05d 100644 --- a/kerneldriver/cases/Makefile +++ b/kerneldriver/cases/Makefile @@ -16,6 +16,9 @@ ifndef KDIR KDIR=$(KERNEL_SRC) endif +KBUILD_EXTRA_SYMBOLS += $(PWD)/../core/Module.symvers +export KBUILD_EXTRA_SYMBOLS + all: $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules KCPPFLAGS="${cflags-y}" diff --git a/kerneldriver/core/hook_unit/secDetector_hook.h b/kerneldriver/core/hook_unit/secDetector_hook.h index 7aba3c2a273b964e052440f756a0678a1d34b1e1..18ece6704b077bc60e175820738d8ce283c3f7bb 100644 --- a/kerneldriver/core/hook_unit/secDetector_hook.h +++ b/kerneldriver/core/hook_unit/secDetector_hook.h @@ -42,7 +42,7 @@ extern void init_secDetector_hook(void); list_for_each_entry_rcu (workflow, &(callback_list), list) { \ if (atomic_read(&workflow->enabled) && \ atomic_read(&workflow->module->enabled)) \ - workflow->workflow_func.func(workflow, PARAMS(args)); \ + workflow->workflow_func.func(PARAMS(args)); \ } \ mutex_unlock(&g_hook_list_array_mutex); \ } while (0) @@ -55,7 +55,7 @@ extern void init_secDetector_hook(void); list_for_each_entry_rcu (workflow, &(callback_list), list) { \ if (atomic_read(&workflow->enabled) && \ atomic_read(&workflow->module->enabled)) \ - workflow->workflow_func.func(workflow, PARAMS(args)); \ + workflow->workflow_func.func(PARAMS(args)); \ } \ rcu_read_unlock(); \ } while (0) diff --git a/kerneldriver/core/response_unit/secDetector_response.c b/kerneldriver/core/response_unit/secDetector_response.c index dad9b3ad6cfb62fea8ac46e256a708bfa09af8ad..cfaed21ba39fab8a6cf57534d1bdf693fdf874c4 100644 --- a/kerneldriver/core/response_unit/secDetector_response.c +++ b/kerneldriver/core/response_unit/secDetector_response.c @@ -58,7 +58,7 @@ void notrace secdetector_report(response_data_t *log) BPF_RB_FORCE_WAKEUP); if (ret != 0) pr_warn("write ringbuf failed\n"); - free(rb_entry); + kfree(rb_entry); } EXPORT_SYMBOL_GPL(secdetector_report); diff --git a/kerneldriver/include/secDetector_workflow_type.h b/kerneldriver/include/secDetector_workflow_type.h index 8e619b42dcc7798ca920515e2fddcb65b2a11449..cc7d5003f709052b77eea8cbbf3d0bf8689eb5ac 100644 --- a/kerneldriver/include/secDetector_workflow_type.h +++ b/kerneldriver/include/secDetector_workflow_type.h @@ -23,7 +23,8 @@ struct secDetector_workflow; union workflow_func { void (*func)(void); void (*file_event)(struct secDetector_file *, int); - void (*timer_func)(struct secDetector_workflow *, struct timer_list *); + //void (*timer_func)(struct secDetector_workflow *, struct timer_list *); + void (*timer_func)(struct timer_list *); void (*func_wf)(struct secDetector_workflow *); };