diff --git a/kerneldriver/core/response_unit/secDetector_response.c b/kerneldriver/core/response_unit/secDetector_response.c index 76eee86ed4800befd661a338dd9537c8c0e21237..1bcd93fcab99a3aeb303b0f9e6e3c689b50be5b4 100644 --- a/kerneldriver/core/response_unit/secDetector_response.c +++ b/kerneldriver/core/response_unit/secDetector_response.c @@ -8,6 +8,7 @@ #include #include #include +#include #include "secDetector_response.h" #include "secDetector_proc.h" #include "secDetector_ringbuffer.h" @@ -20,6 +21,7 @@ struct response_rb_entry { response_func_t response_units[NR_RESPONSE] = { [RESPONSE_OK] = secDetector_ok, [RESPONSE_REPORT] = secdetector_report, + [RESPONSE_KILL] = secDetector_kill, }; void notrace secdetector_respond(unsigned int response_type, @@ -37,6 +39,12 @@ void notrace secDetector_ok(response_data_t *data) return; } +void notrace secDetector_kill(response_data_t *data) +{ + if (current->mm) + send_sig(SIGKILL, current, 1); +} + void notrace secdetector_report(response_data_t *log) { int ret; diff --git a/kerneldriver/include/secDetector_response.h b/kerneldriver/include/secDetector_response.h index 4f29a67ac230bd65bf911ff979ba46fb401f86da..874881be5e098a694d4eb6c65ddd5f090e83828c 100644 --- a/kerneldriver/include/secDetector_response.h +++ b/kerneldriver/include/secDetector_response.h @@ -23,6 +23,7 @@ extern void notrace secdetector_respond(unsigned int response_type, extern void notrace secdetector_report(response_data_t *log); void notrace secDetector_ok(response_data_t *data); +void notrace secDetector_kill(response_data_t *data); // support max 4095 bytes, extern void notrace secDetector_proc_report(response_data_t *log); diff --git a/kerneldriver/include/secDetector_response_type.h b/kerneldriver/include/secDetector_response_type.h index f95598c85f16ee04c9f2ee0111781b20f61f0350..91dbd1a769468c3b26bc4197388fbf2eb3802bb9 100644 --- a/kerneldriver/include/secDetector_response_type.h +++ b/kerneldriver/include/secDetector_response_type.h @@ -13,6 +13,7 @@ enum RESPONSE_TYPE { RESPONSE_OK, RESPONSE_REPORT, RESPONSE_REJECT, + RESPONSE_KILL, RESPONSE_CUSTOMIZATION, NR_RESPONSE, };